我有一些使用多进程的代码,如下:
import multiprocessing
from multiprocessing import Pool
pool = Pool(processes=100)
result = []
for job in job_list:
result.append(
pool.apply_async(
handle_job, (job)
)
)
pool.close()
pool.join()
这个程序在处理非常大的数据集时需要进行大量计算,因此我们需要使用多进程来并发处理任务以提高性能。
我被告知对于托管系统来说,一个Docker容器只是一个进程。那么我想知道我的多进程代码将如何在Docker中处理?
以下是我的担忧:
由于容器只是一个进程,我的多进程代码是否会变成进程内的多线程?
性能会受到影响吗?因为我使用多进程的原因是要同时完成任务以获得更好的性能。
docker run -it --rm busybox /bin/sh -c top
命令可以查看此过程。 - BMitch