加速 Python 编程:深入研究 Multiprocessing 库
import time
from multiprocessing import Process, Queue
# 子进程执行的任务
def worker(queue, number):
queue.put(number**2)
# 主进程
def main():
# 创建一个队列
queue = Queue()
processes = []
# 创建并启动子进程
for i in range(10):
p = Process(target=worker, args=(queue, i))
p.start()
processes.append(p)
# 获取子进程的结果
results = []
for _ in range(10):
result = queue.get()
results.append(result)
# 等待所有子进程完成
for process in processes:
process.join()
# 输出结果
print(results)
if __name__ == "__main__":
start_time = time.time()
main()
end_time = time.time()
execution_time = end_time - start_time
print(f"Execution Time: {execution_time} seconds")
这段代码使用了multiprocessing
库创建了多个子进程来执行一个简单的计算任务(计算数字的平方),并通过Queue
对象来收集结果。主进程等待所有子进程完成后,输出执行的时间。这是一个典型的使用多进程来提高程序运行效率的例子。
评论已关闭