""" 改为多进程: from queue import Queue from threading import Thread 修改为 from multiprocessing import JoinableQueue from multiprocessing import Process """ # 补充:多进程任务添加参数, from multiprocessing import Manager,JoinableQueue,Process
queue = JoinableQueue()
defput_data(): for i in range(100): print("添加数据: {}".format(i)) queue.put_nowait(i)
defget_data(l): time.sleep(0.01) whileTrue: print("获取数据:{}".format(queue.get())) l.append(i) queue.task_done() with Manager() as manager: L = manager.list() p_obj = [] for i in range(30): p = Process(target=get_data, args=(L,)) p.start() p_obj.append(p) for p in p_obj: p.join() list1 = list(L)
""" 改为进程池: from queue import Queue from threading import Thread 修改为 from multiprocessing.dummy import Pool from queue import Queue """ from multiprocessing.dummy import Pool from queue import Queue import time
queue = Queue()
defput_data(): for i in range(100): print("添加数据: {}".format(i)) queue.put_nowait(i)