zoukankan      html  css  js  c++  java
  • python 多线程队列

    ##Using Queue with multiprocessing – Chapter 3: Process Based Parallelism
    import multiprocessing
    import random
    import time
    
    class producer(multiprocessing.Process):
        def __init__(self, queue):
            multiprocessing.Process.__init__(self)
            self.queue = queue
    
        def run(self) :
            for i in range(10):
                item = random.randint(0, 256)
                self.queue.put(item) 
                print ("Process Producer : item %d appended to queue %s"
                       % (item,self.name))
                time.sleep(1)
                print ("The size of queue is %s"
                       % self.queue.qsize())
           
    class consumer(multiprocessing.Process):
        def __init__(self, queue):
            multiprocessing.Process.__init__(self)
            self.queue = queue
    
        def run(self):
            while True:
                if (self.queue.empty()):
                    print("the queue is empty")
                    break
                else:
                    time.sleep(2)
                    item = self.queue.get()
                    print ('Process Consumer : item %d popped from by %s 
    '
                           % (item, self.name))
                    time.sleep(5)
    
    if __name__ == '__main__':
            queue = multiprocessing.Queue()
            process_producer = producer(queue)
            process_consumer = consumer(queue)
            process_producer.start()
            process_consumer.start()
            process_producer.join()
            process_consumer.join()
  • 相关阅读:
    liunx某台服务器无法访问其他服务器!!!!!!!!
    下载历史版本CentOS
    通过sparkstreaming分析url的数据
    Linux查看空间大小的命令
    secureCRT背景颜色
    布谷鸟算法详细讲解
    matlab 绘图
    浏览器内存泄露问题
    C#和java的语法区别
    i-m-a-g-e-7
  • 原文地址:https://www.cnblogs.com/sea-stream/p/10193586.html
Copyright © 2011-2022 走看看