admin管理员组

文章数量:1599541

什么是conditioncondition 多线程条件变量,即在满足特点的条件下,线程才能访问相关的数据,这种同步机制就是一个线程等待特定的条件,当另一个线程满足条件后通知它,该等待线程才会执行,一旦条件满足,该线程就会获得锁,从而独占共享资源的访问。常用方法acquire:获取锁release:释放锁wait:等待获取通知,可以设置超时notify:唤醒一个或多个等待线程notify_all(唤醒所有等待此条件的线程)===========举例(小爱和小度对话)================import threadingclass xiaoDu(threading.Thread):    def __init__(self,cond):        super().__init__(name='小度')        self.cond = cond    def run(self):        with self.cond:            self.cond.wait()            print(self.name +':怎么了')            self.cond.notify()            self.cond.wait()            print(self.name + ':今天北京天气还不错')            self.cond.notify()class xiaoAi(threading.Thread):    def __init__(self,cond):        super().__init__(name= '小爱')        self.cond = cond    def run(self):        with self.cond:            print(self.name +':小度小度')            self.cond.notify()            self.cond.wait()            print(self.name +':北京今天的天气怎么样')            self.cond.notify()            self.cond.wait()cond = threading.Condition()xiaodu = xiaoDu(cond)xiaoai = xiaoAi(cond)xiaodu.start()xiaoai.start()======运行结果小爱:小度小度小度:怎么了小爱:北京今天的天气怎么样小度:今天北京天气还不错

 

 

本文标签: 变量多线程条件Pythoncondition