• 中文
    • English
  • 注册
  • 查看作者
  • python中condition条件变量的作用

    python中condition条件变量的作用

    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学习指路:python基础教程

  • 0
  • 0
  • 0
  • 535
  • 请登录之后再进行评论

    登录
  • 任务
  • 实时动态
  • 发布
  • 单栏布局 侧栏位置: