摘要: # 递归锁:就是一把锁中还有一把小锁,比如学校的大门口有一个大锁,学校里的 #每个教室也有一把小锁,以后所有的锁都用rlock就可以了,不要用lock,尤其是多层锁的时候,必须要用递归锁 import threading import time def run1(): print("grab the first part data") lock.acquire() gl... 阅读全文
posted @ 2017-07-29 10:31 bainianminguo 阅读(355) 评论(0) 推荐(0) 编辑
摘要: # 线程之间用于交互的一个对象,这个event是一个内部的标签,线程可以等待这个标签的状态 #举个例子,比如红绿灯是一个线程,三辆汽车是3个线程,如果为红灯,则三个汽车的线程必须 #要停止,如果是绿灯,则三个汽车的线程就可以跑起来 import threading #创建一个事件 event = threading.Event() #如果标签没有设置,则线程会一直等待,直到标签的状态... 阅读全文
posted @ 2017-07-29 10:31 bainianminguo 阅读(3067) 评论(0) 推荐(0) 编辑
摘要: 下面我们来详细的讲解下信号量的例子,先看下测试代码 我们会打印出当前active的线程数,这里需要注意,这个线程数还包括我们的主进程,也就是我们这里通过主进程起了6个子线程,那么他的active的线程数为7 我们看下打印的结果 通过上面的结果,我们可以看到active的线程数开始为7个,因为我们一共 阅读全文
posted @ 2017-07-29 10:30 bainianminguo 阅读(962) 评论(0) 推荐(0) 编辑