随笔分类 -  并发编程

摘要:阻塞IO模型(blocking IO) 因为通信的时候,数据是先复制到系统,再通过网线发送的,所以,recv在等待接受数据的时候,会先跟内核/操作系统要数据。进而出现两个等待过程,一个是系统等待对方发送数据、一个是应用程序等待系统的数据拷贝过来。 非阻塞IO(unLocking IO) 非阻塞IO是 阅读全文
posted @ 2020-09-16 15:14 NQ31 阅读(137) 评论(0) 推荐(0)
摘要:1、死锁 定义; 类似两个人分别被囚禁在两间房子里,A手上拿着的是B囚禁房间的钥匙,而B拿着A的钥匙,两个人都没法出去,没法给对方开锁,进而造成死锁现象。具体例子代码如下: # -*-coding:utf-8 -*- from threading import Thread,Lock,RLock i 阅读全文
posted @ 2020-09-16 15:11 NQ31 阅读(267) 评论(0) 推荐(0)
摘要:IPC机制:进程间通信或跨进程通信,指两个进程之间进行数据交换。 模型:生产者+媒介(队列)+消费者(用到的就是IPC机制)这里队列用JoinableQueue这个模块,该模块有以下几个方法: JoinableQueue()内有自带计数器,每当队列放一个数据的时候,会自动+1 task_done() 阅读全文
posted @ 2020-09-16 15:04 NQ31 阅读(160) 评论(0) 推荐(0)
摘要:多道技术 1、并发:看起来像是同时运行,实际,是靠不断切换任务来实现的2、并行:同时运行多个任务 3、时间复用:利用中间空闲时间做其他事情。比如;做饭、洗衣服、烧水,就可以先洗好米放锅里煮,然后去把衣服丢洗衣机洗,然后再去烧水,这样就不用等饭煮好,再去洗衣服,烧水。4、空间复用:多个程序共用一套计算 阅读全文
posted @ 2020-09-16 15:01 NQ31 阅读(151) 评论(0) 推荐(0)