在PythonLibrary中Event具体实际操作方案

Python Library这一计算机语言在实际应用中特别的广泛,而很少的人会涉及Python Library中的Event具体实际操作方案的具体应用,以下的文章就是对其在实际操作中的相关步骤的详细介绍。

这个和 .NET ManualResetEvent 相对应,用于在多个线程间进行协同操作。Event.wait() 等待事件信号以便继续执行,set() 设置信号使等待的线程得以执行,clear() 清除信号。

 
 
  1. event1 = Event()  
  2. event2 = Event()  
  3. def test1():  
  4. for i in range(5):  
  5. event1.wait()   

等待信号

 
 
  1. print currentThread().name, i  
  2. event1.clear()  

 

 执行完成后,清除标记(flag),使得下次 wait() 时需再次等待通知。

 
 
  1. event2.set()  

设置另外一个等待事件,以便给另外一个线程发送信号。

 
 
  1. def test2():  
  2. for i in range(5):  
  3. event2.wait()  
  4. print currentThread().name, i  
  5. event2.clear()  
  6. event1.set()  
  7. Thread(target = test1).start()  
  8. Thread(target = test2).start()  
  9. event1.set()   

记得先激活一个,否则都在那 "等死" 呢。输出:

 
 
  1. $ ./main.py  
  2. Thread-1 0  
  3. Thread-2 0  
  4. Thread-1 1  
  5. Thread-2 1  
  6. Thread-1 2  
  7. Thread-2 2  
  8. Thread-1 3  
  9. Thread-2 3  
  10. Thread-1 4  
  11. Thread-2 4  

 

以上的文章就是对Python Library中的Event具体实际操作方案的介绍。

本文标题:在PythonLibrary中Event具体实际操作方案
文章链接:http://www.hantingmc.com/qtweb/news45/432695.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联