阅读背景:

python 归纳 (十九)_线程同步_条件变量

来源:互联网 

 代码:

# -*- coding: utf-8 -*-
"""
学习线程同步,使用条件变量
逻辑:
     生产消费者模型
     一个有3个大小的产品库,一个生产者负责生产,一个消费者负责消费
     每次生产或消费一个产品,产品库满了,生产者必须等待,产品库空了,消费者必须等待
     生产者的速度是消费者的速度2倍,先启动消费者,一段时间后启动生产者

总结:
    1. 条件变量底层用到R锁,对于已经获得锁的线程可以执行多次 acquire(),锁多次
    2. 不确定是否和java的这一套 ,原理一样

使用:
    1. 创建条件对象  cond = threading.Condition()
    2. 在子线程调用 申请获取锁  cond.acquire()
    3. 在程序中如果有必要 使用 cond.wait()  cond.notify() cond.notifyall()
    4. 使用完后 释放锁 cond.release()

参考:


学习线程同步,使



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: