• 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()
  • 相关阅读:
    Python函数
    linux—shell 脚本编程
    python 内建函数
    列表解析式(List Comprehension)
    python标准库(datetime)
    python字典(dict)
    常用数据结构
    C 2010年笔试题
    C 2012年笔试题(保)
    C 2012年笔试题
  • 原文地址:https://www.cnblogs.com/sea-stream/p/10193586.html
Copyright © 2020-2023  润新知