python使用condition实现一个简易的栅栏,CyclicBarriar
来源:互联网 发布:c 凯撒密码编程 编辑:程序博客网 时间:2024/05/15 00:51
'''Created on 2017-1-11@author: admin'''from threading import Condition, Threadclass CyclicBarriar(): def __init__(self,job,count): self.condition=Condition() self.job=job; self.count=count def await(self): self._doAwait() def _doAwait(self): try: self.condition.acquire() self.count-=1 if self.count==0: if self.job!=None: self.job.run() self.condition.notifyAll() else: self.condition.wait() finally: self.condition.release() if __name__ == '__main__': class SubThread(Thread): def __init__(self,name,barriar): Thread.__init__(self) self.name=name; self.barriar=barriar def run(self): print("finishing %s"%self.name) self.barriar.await() class MainThread(Thread): def __init__(self): Thread.__init__(self) def run(self): print("finishing main thread") barrair=CyclicBarriar(MainThread(),3) thread1=SubThread("thread one",barrair) thread2=SubThread("thread second",barrair) thread3=SubThread("thread third",barrair) thread1.start() thread2.start() thread3.start()
0 0
- python使用condition实现一个简易的栅栏,CyclicBarriar
- 实现一个简易的Python版CountDownLatch
- python使用threading.condition实现生产者消费者
- python实现一个简易hashmap
- 栅栏密码解码python实现
- Python的Lock和condition使用
- Python实现一个简易的网页抓取程序
- 用Python实现一个简易的WebSocket Server
- Python实现一个简易的斐波那契数列
- 栅栏函数的使用
- 栅栏的使用
- CyclicBarrier 栅栏的使用
- 使用Lock的Condition实现生产者消费者
- python:使用web.py实现最简易的web服务器
- 使用opengl实现一个简易的robot模拟
- 使用PHP调用Matlab接口实现一个简易的计算器
- 如何使用vue实现一个简易的购物车
- 一个简易计算器的实现
- 升级11g重复执行catupgrd.sql脚本,引起大量ORA-00001错误
- 右键新建excel无法打开
- react-native报错解决方法 in next release empty section headers will be rendered
- Debian Linux包管理机制
- maven下axis2与spring的整合开发流程
- python使用condition实现一个简易的栅栏,CyclicBarriar
- 如何转载CSDN博客
- 采用队列数据结构按层次遍历二叉树
- android 如何设置颜色的透明度!
- Floyd-Warshall算法求任意两点间的最短路(图论算法)
- 视频列表的android客户端和springmvc服务端实现(三)
- [LeetCode]44. Wildcard Matching
- 数值分析 第五章 插值与逼近
- Winform打开和关闭控制台