Python多处理:检测多核处理器上的可用线程

时间:2016-10-21 09:20:17

标签: python multiprocessing cluster-computing threadpool python-multiprocessing

有可能添加多处理问题的队列,有没有办法检测每个CPU的可用线程数,类似于multiprocessing.cpu_count()?我从一个池中异步调用main()函数,每个核心有一个进程可用(如果processes=None则默认行为)。

items = [2,4,6,8,10]
pool = multiprocessing.Pool(processes=args.cores)
results = [pool.apply_async(main, (item,), {threads=1}) for item in items]

但是,我希望每个main()调用都可以通过显式设置threads arg来利用所有可用线程。

有没有办法做到这一点,还是太平台/系统特定?也许可以通过神秘的from multiprocessing.pool import ThreadPool,通过与线程模块或其他方式结合来完成它?

感谢任何方向,谢谢!

0 个答案:

没有答案