在py线程的使用上,有三个方式是需要用到的,并且和生产者与消费者有关系,一个是今天我们要说的条件变量,还有一个是关于消息队列,最后一个是协程方式的使用,这里是包括了两个形式,线程和协程,下面就使用condition给大家演示整个执行过程,可以作为我们日后调用的模板。
条件变量(Condition)方式,最复杂的一种
直接给大家贴出代码:
# 条件变量:锁功能加入等待和唤醒功能,默认RLock
# 两个线程用一个 cond 锁,手动唤醒和等待
import time
from threading import Thread
from threading import Condition
cond = Condition()
num = 0
def producer(): # 生产者线程
def customer(): # 消费者线程
global num
thd1 = Thread(target=producer)
thd1.join() # 线程同步-等子线程结束,主线程再继续运行
简单给大家解释上面的程序,我们要执行工作程序,需要定义好线程,然后让生产者获取,当消费者碰到时候只能进行等待,当执行程序满足条件以后,在传递给消费者线程,这样的一套流程即是条件变量的使用。
发表评论
还没有评论,快来抢沙发吧!