编写一个多进程程序,实现对列表中的元素(数字类型)并行计算(求各个元素的立方),将结果写入一个文本文件中
时间: 2023-06-23 20:10:12 浏览: 81
下面是一个简单的多进程程序,使用Python的multiprocessing库来实现对列表中元素的并行计算,并将结果写入文本文件中。
```python
import multiprocessing
# 定义一个函数,用于计算每个元素的立方
def cube(num):
return num**3
# 定义一个函数,用于将结果写入文本文件
def write_file(results):
with open('result.txt', 'w') as f:
for res in results:
f.write(str(res) + '\n')
if __name__ == '__main__':
# 定义一个列表,用于存储需要计算的元素
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 定义一个进程池,使用多个进程来并行计算
pool = multiprocessing.Pool(processes=4)
# 对每个元素进行立方运算
results = pool.map(cube, nums)
# 将结果写入文本文件
write_file(results)
# 关闭进程池
pool.close()
pool.join()
```
在这个程序中,我们首先定义了一个cube函数,用于计算每个元素的立方。然后,我们定义了一个write_file函数,用于将结果写入文本文件。在主程序中,我们定义了一个nums列表,用于存储需要计算的元素。然后,我们创建了一个进程池,使用4个进程来并行计算元素的立方。最后,我们将结果写入文本文件,并关闭进程池。