在Python中运行所有CPU内核上的函数? (多线程)

时间:2017-11-01 04:27:28

标签: multithreading python-2.7

我有一个简单的函数来计算字符串中某个字母的数量。我有一个非常大的字符串,理想情况下想要使长度更大。我有4个CPU核心,并希望利用所有这些核心。这怎么可能在python 2中?我希望这是有点简单......我不是这里的专业人士!但是,如果没有简单的方法,我只需要一个很好的解释!谢谢!

我已经尝试过几个库(多线程,线程等等)并且似乎无法让它们工作。我知道我做错了什么,但我无法弄清楚是什么。

1 个答案:

答案 0 :(得分:0)

我已经解决了我的问题!

使用JobLib,并执行以下操作: print str(sum(Parallel(n_jobs = multiprocessing.cpu_count())(delayed(function to run)(j) for The list of arguments for each process)) / 4)

您需要通过pip安装它: pip install joblib

对于一个非常有效的函数,给它一个关于它运行的线程的参数,以便它知道它必须承担哪个工作负载部分。