码迷,mamicode.com
首页 > 其他好文 > 详细

threading event

时间:2016-04-03 18:51:21      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:

技术分享
#!usr/bin/env python
  2 #coding: utf-8
  3 #Author: Andy
  4 
  5 import threading
  6 import time
  7 
  8 def producer():
  9     print(等人来买包子。。。)
 10     event.wait()
 11     event.clear() # 收到信号,开始做包子,将set清空
 12     print(开始做包子。。。。)
 13 
 14     time.sleep(5) #耗时5秒
 15     event.set() # 包子做好了,给consumer信号
 16 
 17 def consumer():
 18     print(好饿啊,去买个包子吃下。。。。)
 19     event.set() # 告诉producer
 20     print(等包子做好)
 21     time.sleep(2)
 22     event.wait() # 等包子做好
 23     print(包子真好吃。。。) # 收到信号
 24 
 25 event = threading.Event()
 26 
 27 t1 = threading.Thread(target=producer)
 28 t1.start()
 29 
 30 t2 = threading.Thread(target=consumer)
 31 t3.start()
Code

threading.Event(),有set, clear,wait等方法,方便在两个进程间通信。

当event.set()时,得到信号,继续向下执行,不再wait(),但一旦设置了set()就会一直存在,所以在下一次set之前要先clear()。

threading event

标签:

原文地址:http://www.cnblogs.com/Andy963/p/5350215.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!