看langchain代码之前必备知识之 - Python 多进程: multiprocessing
from multiprocessing import Process, Queue
# 子进程要执行的任务
def worker(queue):
# 处理任务
while True:
item = queue.get()
if item is None: # 收到结束信号
break
# 处理任务的逻辑
print(f"处理任务: {item}")
queue.put(None) # 将结束信号放回队列以便主进程能收到
# 主进程
def main():
queue = Queue() # 创建进程间通信的队列
process = Process(target=worker, args=(queue,)) # 创建子进程
process.start() # 启动子进程
# 发送任务到子进程
for i in range(5):
queue.put(i)
# 通知子进程结束
queue.put(None)
process.join() # 等待子进程结束
if __name__ == "__main__":
main()
这段代码展示了如何使用Python的multiprocessing
模块创建一个子进程以及如何使用队列Queue
在主进程和子进程之间通信。子进程会从队列中取出任务并处理,主进程则负责将任务发送给子进程并通知子进程结束。这是一个多进程编程的基本例子,适用于需要并行处理任务的场景。
评论已关闭