在Python Library中Event具体实际操作方案

开发 后端
如果你对Python Library中的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具体实际操作方案的介绍。

责任编辑:佚名 来源: 互联网
相关推荐

2010-03-16 10:00:37

Python函数

2010-03-22 10:11:28

Python Libr

2010-03-16 10:58:35

Python字符串

2010-03-16 12:39:09

python for

2010-04-13 18:03:33

Oracle服务

2010-03-17 13:33:04

Python Libr

2010-03-23 13:16:14

Python代码加密

2010-03-24 09:46:16

Python 2.6

2010-04-12 14:44:06

Oracle Impd

2010-03-19 17:39:49

Python编程

2010-03-17 15:01:24

Python复制文件

2010-03-24 18:54:53

Python语言

2010-03-09 18:55:27

Python djan

2010-04-16 09:52:40

Oracle JOB

2010-03-10 19:00:20

Pythonnext函

2010-04-12 13:05:56

Oracle软件

2010-03-16 16:22:36

Python字符串

2010-03-26 08:46:29

Python 2.5.

2010-03-23 18:38:26

Python os.m

2010-03-17 12:20:15

Python Libr
点赞
收藏

51CTO技术栈公众号