python多线程包_python多线程异步 简单小栗子(包子大战)

#coding:utf-8

import threading

import time

def producer():

print u'tantianran: 等人来买包子...'

event.wait() #一开始为阻塞,如果检测到标志位被设置成了true(标志位默认是flase),则继续往下执行

event.clear() #将标志位设置回flase

print u'tantianran: 生产包子中...'

time.sleep(5)

print u'tantianran: 催你妹啊!你的包子做好了...'

event.set()  # 设置标志位为true,通知线程t2,包子做好了

def consumer():

print u'tanzhenxing: 去买包子...'

event.set() #设置标志位为true,通知t1线程要去买包子

time.sleep(2)

while True:

if event.isSet():

print u'tanzhenxing: 买到包子了,包子真好吃...谢谢!'

break

else:

print u'tanzhenxing: 包子还尼马没做好?'

time.sleep(2)

if __name__ == '__main__':

event = threading.Event()

t1 = threading.Thread(target=producer)

t2 = threading.Thread(target=consumer)

t1.start()

t2.start()

执行结果:

/usr/bin/python2.7 /home/toby/PycharmProjects/test-20170419/01.py

tantianran: 等人来买包子...

tanzhenxing: 去买包子...

tantianran: 生产包子中...

tanzhenxing: 包子还尼马没做好?

tanzhenxing: 包子还尼马没做好?

tantianran: 催你妹啊!你的包子做好了...

tanzhenxing: 买到包子了,包子真好吃...谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值