zoukankan      html  css  js  c++  java
  • doraemon的python 生产者消费者模型

    生产者消费者模型是做什么用的:把写在一起的大功能分开成多个小功能处理

    形象来说就是启用两个进程:

    • 一个进程是生产者

    • 一个进程是消费者

    • 生产者与消费者之间的容器就是队列

    import time
    import random
    from multiprocess import Process,Queue
    
    def producer(q,name,food):
        for i in range(10):
            time.sleep(random.random())
            fd = '%s%s'%(food,i)
            q.put(fd)
            print('%s生产了一个%s'%(name,food))
            
    def consumer(q,name):
        while True:
            food = q.get()
            if not food:break
            time.sleep(random.radom(1,3))
            print('%s吃了%s'%(name,food))
    #注意:这时consumer函数不会结束
    
    def cp(c_count,p_count)
        q = Queue(10)
        for i in range(c_count)
            Process(target=consumer,args=(q,'liujia')).start()
        P_l = []
        for i in range(p):
            p1 = Process(target=producer,args=(q,'liudanni','泔水'))
            p1.start()
            p_l.append(p1)
        for p in p_l:p.join()
        for i in range(c_count):
            q.put(None)
            
    if __name__ == '__main__':
        cp(2,3)
        
  • 相关阅读:
    [恢]hdu 2203
    [恢]hdu 2089
    [恢]hdu 1597
    [恢]hdu 1239
    [恢]hdu 2141
    [恢]hdu 2152
    [恢]hdu 2078
    [恢]hdu 2304
    [恢]hdu 1799
    非金钱激励员工的108种手段 ,你一定要懂!
  • 原文地址:https://www.cnblogs.com/doraemon548542/p/11427314.html
Copyright © 2011-2022 走看看