python condition条件变量

python condition条件变量

py线程的使用上,有三个方式是需要用到的,并且和生产者与消费者有关系,一个是今天我们要说的条件变量,还有一个是关于消息队列,最后一个是协程方式的使用,这里是包括了两个形式,线程和协程,下面就使用condition给大家演示整个执行过程,可以作为我们日后调用的模板。

条件变量(Condition)方式,最复杂的一种

直接给大家贴出代码:

#条件变量:锁功能加入等待和唤醒功能,默认RLock
#两个线程用一个cond锁,手动唤醒和等待
importtime
fromthreadingimportThread
fromthreadingimportCondition
cond=Condition()
num=0
defproducer():#生产者线程
defcustomer():#消费者线程
globalnum
thd1=Thread(target=producer)
thd1.join()#线程同步-等子线程结束,主线程再继续运行