文章分类 -  网络编程

简述进程,线程,协程的关系
摘要:进程是计算机资源分配的最小单元,主要用来做数据隔离 线程是计算机工作的最小单元 一个应用程序里面又可以有多个进程,一个进程里面可以有多个线程 其他语言里面没有进程,使用的都是线程 在python里面,一般IO操作多的时候使用线程,计算密集型的话使用进程 因为存在GIL锁,GIL锁一般存在python 阅读全文
posted @ 2018-09-25 18:51 liang0.0 阅读(269) 评论(0) 推荐(0)
进程
摘要:Windows下,要把启动程序写在if __name__ == '__main__':里面执行 1,进程间的数据不共享 import multiprocessing import threading data_list = [] def task(arg): data_list.append(arg 阅读全文
posted @ 2018-09-12 16:47 liang0.0 阅读(86) 评论(0) 推荐(0)
生产者消费者模型
摘要:三部件: 生产者: 队列:先进先出 栈:后进先出 消费者 生产者消费者模型解决了什么问题: 解决了不用一直等待的问题 import time import queue import threading q = queue.Queue() #线程安全 def producer(id): ''' 生产者 阅读全文
posted @ 2018-09-11 16:58 liang0.0 阅读(96) 评论(0) 推荐(0)
python的GIL锁
摘要:python的GIL锁: 是python内置的一个全局解释器锁,锁的作用就是保证同一时刻只有一个线程被CPU调度 为什么有这把锁: python语言的创始人在开发这门语言时,目的是快速把语言开发出来,如果加上GIL锁(C语言加锁),切换时按照100条字节指令来进行线程间的切换 设置锁: 1,Lock 阅读全文
posted @ 2018-09-11 16:38 liang0.0 阅读(134) 评论(0) 推荐(0)
线程的使用
摘要:1,线程的基本使用 import threading print('666') def func(arg): print(arg) t = threading.Thread(target=func,args=(1,)) t.start() print('end') 2,主线程默认等子线程执行完毕 i 阅读全文
posted @ 2018-09-10 16:58 liang0.0 阅读(106) 评论(0) 推荐(0)
FTP--文件上传下载(多进程,黏包)
摘要:server: client: 阅读全文
posted @ 2018-09-05 17:06 liang0.0 阅读(610) 评论(0) 推荐(0)
FTP--文件上传下载(多进程,黏包)
摘要:server端 import os import json import struct import socketserver class Myserver(socketserver.BaseRequestHandler): def handle(self): while True: file_in 阅读全文
posted @ 2018-09-04 17:15 liang0.0 阅读(97) 评论(0) 推荐(0)
网络编程初识--网络基础
摘要:import socket #创建一个服务端socket对象 server = socket.socket() #绑定ip和端口 server.bind(('192.168.13.104',8000)) #第一个参数是自己的IP地址,第二个参数是端口号 #后边可以等5个人 server.listen 阅读全文
posted @ 2018-09-03 15:20 liang0.0 阅读(87) 评论(0) 推荐(0)