为了控制我正在处理的代码,我尝试在不同线程中发生的许多任务中创建单个跟踪。我在运行之初就知道任务(和工作人员)的数量。对于演示(不起作用,玩具示例): from multiprocessing import Pool for _ inwork(*params)
# another loop: with
我目前正在使用python的带有池的多处理模块同时运行一个函数数百万次。虽然多处理工作良好,但该函数是如此的轻量级,仅使用了每个核心的30%,并且线程仅在锁()过程中才达到最大值。鉴于每次函数运行都非常短,每次映射到函数时锁定与运行函数之间的折衷是不值得的(实际上,我通过连续运行它获得了更好的性能;15分钟的并行化相对于4.5分钟的串行运行)。是否有可能“模拟”运行/多次调用同一个并行化python脚本(具有不同的输入)以更多地利用CPU?当前代码:
pool = Pool(c