Skip to main content
 首页 » 编程设计

python之python中的多进程是否至少需要0.3s

2025年05月04日14xiaohuochai

我一直在尝试学习使用 python 中的多处理模块。我似乎在这个模块中发现了一个有趣的事实,如果使用 pool() 函数来处理一些子进程,似乎无论每个进程在做什么,完成所有进程都至少需要花费0.3s,比如我打印16次,耗时很少,但是如果我用16个进程,每个进程打印一次,就耗时0.3s,不知道是不是我的代码有某种错误或其他什么,有人可以向我解释一下吗,我使用的代码如下:

import time 
from multiprocessing import Pool 
import os 
start = time.time() 
 
def task(): 
    print('something') 
 
if __name__ == '__main__': 
    print('Parent process %s.' % os.getpid()) 
    p = Pool(16) 
    for i in range(17): 
        p.apply_async(task) 
    print('Waiting for all subprocesses done...') 
    p.close() 
    p.join() 
    print('All subprocesses done.') 
    end = time.time() 
    print(end - start) 

请您参考如下方法:

这 300 毫秒只是您的操作系统在您的系统上生成一个新进程所花费的时间。对于这种延迟,您几乎无能为力(除了获得更快的系统),而且它总是因系统而异。