千锋教育-做有情怀、有良心、有品质的职业教育机构

pythoncondition条件变量的作用

来源:千锋教育
发布时间:2023-11-11 05:54:11
分享

1、Python提供的Condition对象支持复杂的线程同步。

2、Condition被称为条件变量,除了提供类似Lock的acquire和release方法外,还提供wait和notify方法。线程先acquire条件变量,然后判断一些条件。

实例

importthreading,time

classHider(threading.Thread):

def__init__(self,cond,name):

super(Hider,self).__init__()

self.cond=cond

self.name=name

defrun(self):

time.sleep(1)#确保先运行Seeker中的方法

self.cond.acquire()#b

print(self.name+':我已经把眼睛蒙上了')

self.cond.notify()

self.cond.wait()#c

#f

print(self.name+':我找到你了~_~')

#self.cond.notify()

self.cond.release()

#g

print(self.name+':我赢了')#h

classSeeker(threading.Thread):

def__init__(self,cond,name):

super(Seeker,self).__init__()

self.cond=cond

self.name=name

defrun(self):

self.cond.acquire()

self.cond.wait()#a#释放对琐的占用,同时线程挂起在这里,直到被notify并重新占有琐。

#d

print(self.name+':我已经藏好了,你快来找我吧')

self.cond.notify()

self.cond.wait()#e

#h

self.cond.release()

print(self.name+':被你找到了,哎~~~')

cond=threading.Condition()

seeker=Seeker(cond,'seeker')

hider=Hider(cond,'hider')

seeker.start()

hider.start()

以上内容为大家介绍了python培训之condition条件变量的作用,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • Pycharm在指定目录下生成文件和删除文件 Pycharm在指定目录下生成文件和删除文件本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。生成文件importos#在指定目录里面创建空文件defmkdir():p
  • Python中如何使用replace()方法实现字符串内部替换? python中如何使用replace()方法实现字符串内部替换?python字符串中,我们会遇到新的字符串并不适合使用,这就需要旧的、合适的的字符串替换上,以实现字符串的内部替换。本文就向大家介绍py
  • python matlab库有何用法? pythonmatlab库有何用法?大部分的库都是对应不同的接口使用,然而本期给大家带来的库有点与众不同,涉及的方向是图形化的界面,使用上并不困难,但是也存在着需要注意的使用的,比如安装方面,不同于其
  • python operator模块有何用法? pythonoperator模块有何用法?作为一个标准功能操作符接口,从使用功能可以获悉当遇到API的时候,最起码可以进行operator模块的调用,其次在使用上目标很简单,遇到要自行创建函数的时候,
  • 如何使用python中strip函数? 如何使用python中strip函数?python中,str函数可以将某一类型的变量或者常量转换为字符串对象,而如果你想返回原字符串的副本,移除其中的前导和末尾字符,就要用到strip函数,本文将对p
  • python中zipfile模块是什么? python中zipfile模块是什么?本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。1、zipfile模块利用zipfile模块,python程序可以创建和打开或