码迷,mamicode.com
首页 > 编程语言 > 详细

线程的那点事情02 --事件

时间:2016-09-04 06:50:36      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:

还是卖包子的故事, 我们在生产者消费者模型里面,消费者一直问有没有包子,生产者一直生产包子

那么可不可以这样,消费者过来问:有没有包子的时候,告诉他没有,等过会做好了,叫你。

我们可以通过event来做线程间信号传递

 1 __author__ = Rico
 2 #coding:utf-8
 3 
 4 import threading
 5 import time
 6 
 7 
 8 def Producer():
 9     print cook:wait for somebody
10     event.wait()
11     event.clear()
12     print cook:somebody is coming for baozi
13     print make some baozi
14     time.sleep(5)
15     print The baozi is ready
16     event.set()
17 def Consumer():
18     print ujack:go buy some baozi
19     event.set()
20     time.sleep(2)
21     while 1:
22         if event.is_set():
23             print  Thinks
24             break
25         else:
26             print Please do it quickly 
27             time.sleep(1)
28 
29 event = threading.Event()
30 p = threading.Thread(target=Producer)
31 c = threading.Thread(target=Consumer)
32 p.start()
33 c.start()

 

线程的那点事情02 --事件

标签:

原文地址:http://www.cnblogs.com/nerdlerss/p/5838523.html

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