我有此代码:
from multiprocessing import Pool
from multiprocessing import cpu_count
processes = cpu_count()
pool = Pool(processes)
pool.map(print("Hello, world!"))
这给出了错误:TypeError: map() missing 1 required positional argument: 'iterable'
。这似乎也适用于其他并行化程序包(例如concurrent.futures
)。他们要求将已定义的函数应用于可迭代对象。但是如何强制一个命令使用多个cpu内核?
让我们说,不是上面的print("Hello, world!")
,而是一个命令来运行主题模型或计算Pi或其他任何事情:通过并行化可以加快该过程吗?还是事实上,例如16个内核中的1个内核上100%的cpu负载仍然意味着使用了计算机的全部处理能力?