多线程条件

条件也可以理解为锁。也有acquire 、release、  wait、 notify方法

一个条件创建之初,默认有一个False状态,会影响wait一直处于等待状态

notify(int数据类型) 大白话就是制造几把钥匙

from threading import Thread,Condition
def func(con,i):
    con.acquire()
    con.wait()     #等待钥匙(钥匙是一次性的  用完不会归还)
    print("第{}线程在使用".format(i))
    con.release()

con = Condition()
for i in range(1,11):
    Thread(target=func,args=(con,i)).start()
while True:
    num = int(input(">>>"))
    con.acquire()
    con.notify(num)
    con.release()

 

posted @ 2018-12-16 16:20  superniao  阅读(292)  评论(0编辑  收藏  举报