以下是一个示例代码,演示了如何使用并行计算将每个进程的输出写入文件。
import multiprocessing
# 定义一个并行计算的函数
def parallel_function(num):
result = num * num
process_id = multiprocessing.current_process().name
# 将每个进程的输出写入文件
with open('output.txt', 'a') as file:
file.write(f'进程 {process_id} 的输出: {result}\n')
if __name__ == '__main__':
# 创建一个进程池
pool = multiprocessing.Pool()
# 定义输入数据
input_data = [1, 2, 3, 4, 5]
# 并行计算并将每个进程的输出写入文件
pool.map(parallel_function, input_data)
# 关闭进程池
pool.close()
pool.join()
在上面的示例代码中,我们首先定义了一个并行计算的函数parallel_function
,它将输入的数字平方,并将每个进程的输出写入文件。在函数中,我们使用multiprocessing.current_process().name
获取当前进程的名称,并使用open
函数将输出写入output.txt
文件。
在主代码中,我们创建了一个进程池pool
,然后定义了输入数据input_data
。接下来,我们使用pool.map
函数将输入数据传递给parallel_function
函数进行并行计算,并将每个进程的输出写入文件。
最后,我们关闭进程池并使用pool.join()
等待所有进程完成。完成后,我们就可以在output.txt
文件中看到每个进程的输出了。
上一篇:并行计时器创建导致内核崩溃
下一篇:并行计算-协整性