Python求索之路8——生产者&消费者

Posted ahaii

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python求索之路8——生产者&消费者相关的知识,希望对你有一定的参考价值。

多线程中的生产者和消费者模型:

生产者和消费者可以用多线程实现,它们通过Queue队列进行通信。

import time,random
import Queue,threading

q = Queue.Queue()
def Producer(name):
  count = 0
  while count <20:
    time.sleep(random.randrange(3))#随机时间间隔
    q.put(count)
    print(Producer %s has produced %s baozi.. %(name, count))
    count +=1
def Consumer(name):
  count = 0
  while count <20:
    time.sleep(random.randrange(4))
    if not q.empty():
        data = q.get()
        print(data)
        print(\033[32;1mConsumer %s has eat %s baozi...\033[0m %(name, data))
    else:
        print("-----no baozi anymore----")
    count +=1
p1 = threading.Thread(target=Producer, args=(A,))
c1 = threading.Thread(target=Consumer, args=(B,))
p1.start()
c1.start()

 

以上是关于Python求索之路8——生产者&消费者的主要内容,如果未能解决你的问题,请参考以下文章

Python之路:进程线程

Python学习之路:队列及生产者消费者模型

Python全栈之路模块----之-----守护进程进程锁队列生产者消费者模式

Python之路(第三十八篇) 并发编程:进程同步锁/互斥锁信号量事件队列生产者消费者模型

Python求索之路3——迭代器装饰器生成器正则

百万年薪python之路 -- 并发编程之 多线程 一