您的位置:首页 > 编程语言 > Python开发

python 生产者,消费者的同步互斥问题

2015-05-08 14:57 357 查看
import threading

import time

class Producer(threading.Thread):

def __init__(self,t_name):

threading.Thread.__init__(self,name=t_name)

def run(self):

global x

con.acquire()

if x>0:

con.wait()

else:

for i in xrange(0,5,1):

x+=1

print u'producing...'+str(x)

con.notify()

print x

con.release()

class Consumer(threading.Thread):

def __init__(self,t_name):

threading.Thread.__init__(self,name=t_name)

def run(self):

global x

con.acquire()

if x<0:

con.wait()

else:

for i in xrange(0,5,1):

x-=1

print u'consume...'+str(x)

con.notify()

print x

con.release()

con = threading.Condition()

x = 0

print u'start consumer'

c = Consumer('consumer')

print u'start producer'

p = Producer('producer')

p.start()

c.start()

print x
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐