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
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
相关文章推荐
- 进程间同步互斥经典问题(一)生产者-消费者问题
- 资源同步与互斥问题(生产者与消费者)
- 进程同步互斥经典题之消费者与生产者问题
- 进程间同步互斥经典问题(一)生产者-消费者问题
- 经典生产者与消费者问题(线程的同步与互斥)
- 同步互斥问题(生产者消费者模型)
- 进程、线程知识点总结和同步(消费者生产者,读者写者三类问题)、互斥、异步、并发、并行、死锁、活锁的总结
- linux中的生产者和消费者问题--信号量 互斥 同步
- 进程、线程知识点总结和同步(消费者生产者,读者写者三类问题)、互斥、异步、并发、并行、死锁、活锁的总结
- 生产者-消费者问题实现 (linux下C同步信号量和互斥信号量的应用)
- Linux下生产者消费者问题详细分析(操作系统期中考试论文---并发程序的同步和互斥)
- 操作系统经典同步互斥问题——生产者消费者问题
- Linux下信号量实现进程同步、互斥(生产者消费者问题)
- 三个同步与互斥问题之生产者与消费者
- 利用线程的同步和互斥解决两个消费者两个生产者一个临界区问题
- 多线程--同步互斥&生产者消费者(一)
- 东北大学操作系统实验:进程同步和通信(生产者消费者问题模拟)
- 004-线程同步问题引出、同步问题解决、死锁、生产者与消费者
- Linux下进程的同步互斥实例——生产者消费者
- 用C#线程技术模拟“生产者-消费者”经典进程同步问题