这篇文章主要讲解了“Python Library中Event的具体操作方案”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python Library中Event的具体操作方案”吧!
这个和 .NET ManualResetEvent 相对应,用于在多个线程间进行协同操作。Event.wait() 等待事件信号以便继续执行,set() 设置信号使等待的线程得以执行,clear() 清除信号。
event1 = Event() event2 = Event() def test1(): for i in range(5): event1.wait()
等待信号
print currentThread().name, i event1.clear()
执行完成后,清除标记(flag),使得下次 wait() 时需再次等待通知。
event2.set()
设置另外一个等待事件,以便给另外一个线程发送信号。
def test2(): for i in range(5): event2.wait() print currentThread().name, i event2.clear() event1.set() Thread(target = test1).start() Thread(target = test2).start() event1.set()
记得先激活一个,否则都在那 "等死" 呢。输出:
$ ./main.py Thread-1 0 Thread-2 0 Thread-1 1 Thread-2 1 Thread-1 2 Thread-2 2 Thread-1 3 Thread-2 3 Thread-1 4 Thread-2 4
感谢各位的阅读,以上就是“Python Library中Event的具体操作方案”的内容了,经过本文的学习后,相信大家对Python Library中Event的具体操作方案这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。