python python多处理队列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python python多处理队列相关的知识,希望对你有一定的参考价值。

from multiprocessing import Process, Queue
import os
import time

def copy_func(files, q):
    for f in files:
        print("copying:",f)
        time.sleep(3)
        q.put(f)
        
def process_func(maxnum, q):
    index = 0
    while index < maxnum:
        if not q.empty():
            f = q.get()
            print("processing:",f)
            time.sleep(5)
            index += 1
        time.sleep(1)

if __name__ == '__main__':
    q = Queue()
    copy = Process(target = copy_func, args=(range(10), q))
    pros = Process(target = process_func, args=(10, q))
    copy.start()
    pros.start()
    copy.join()
    print("finish copy")
    pros.join()
    print("finish proc")

以上是关于python python多处理队列的主要内容,如果未能解决你的问题,请参考以下文章

Python多处理队列非常慢

为啥 Python 多处理队列会弄乱字典?

等待队列填充python多处理的最佳方法

Python 多线程同步队列模型

Python多处理队列内存管理

Python多处理队列酸洗错误