python条件变量

时间:2014-02-27 17:46:40   收藏:0   阅读:531
#!/usr/bin/python
#coding:utf-8

import time
import threading

#product
product = None

#condition
con = threading.Condition()

def produce():
    global product

    if con.acquire():
        while True:
            print "商店:::正在检查商店中是否有产品...."
            if product is None:

                time.sleep(3)#检查中
                print "商店:::哎呀,我去,没有产品了..."

                print "商店:::生产中...."
                time.sleep(3)

                product = "我是面包!!"
                
                print "商店:::摆放产品中..."
                time.sleep(1)

                print "商店:::客户们,产品现在可以买了..."
                con.notify()

            else:
                print "商店:::还有产品"

            con.wait()#收到客户的反馈,没有产品了
            print "商店:::收到用户的投诉,没有产品了,赶紧给客户道歉..."
            time.sleep(5) #正在给客户道歉...

def consume():
    global product
    if con.acquire():
        while True:
            print "客户:      看看有没有产品可以买..."
            if product is not None:
                print "客户:      哇,有产品了哦,购买中..."
                product = None
                print "客户:      告诉商店产品已经被买完了.."
                con.notify()
            else:
                print "客户:      我去,还没有产品..."

            print "客户:      我要多个呢,还不够赶紧给我生产!!!"
            con.wait()#让客户歇会,一会就生产好了

t1 = threading.Thread(target = produce)
t1.start()
t2 = threading.Thread(target = consume)
t2.start()

python条件变量,布布扣,bubuko.com

原文:http://blog.csdn.net/iitvip/article/details/19986095

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!