Python教程:深入理解 Python multiprocessing.Queue
from multiprocessing import Process, Queue
import time
def worker(queue):
while True:
item = queue.get()
print(f"Processing item: {item}")
time.sleep(1)
queue.task_done() # 通知任务处理完毕
def main():
# 创建一个 Queue 实例,最多可以存放 10 个项目
queue = Queue(maxsize=10)
# 生成并启动一个进程
worker_process = Process(target=worker, args=(queue,))
worker_process.daemon = True # 设置为守护进程,主进程退出时,它也随之退出
worker_process.start()
# 向队列中添加任务
for item in range(5):
queue.put(item)
# 等待所有任务处理完毕
queue.join()
print("All items have been processed.")
if __name__ == "__main__":
main()
这段代码创建了一个守护进程,使用了 Queue
来传递任务,并且在主进程中等待所有任务完成。通过这个例子,开发者可以学习到如何使用 multiprocessing
模块来进行任务的并行处理。
评论已关闭