1
way2exluren 2015 年 2 月 26 日 via Android 如果时间消耗在cpu上,那么python的多线程是不能提高效率的……如果是io,应该能提高点效率。
|
2
leozy2014 2015 年 2 月 26 日
不懂程序,lz可以测试下就知道选哪个好了
|
3
v2gba OP |
4
mhycy 2015 年 2 月 26 日
@MrGba2z
建议多进程解决,如果瓶颈是CPU,那么单一的Python进程最多只能充分利用单一核心的处理能力。 所以100线程和20线程区别不大 建议把消耗CPU的业务分离出来使用多进程解决 那么进程数等于CPU核心数就好了 |
6
virusdefender 2015 年 2 月 26 日
楼上说的对 要考虑是io密集型还是cpu密集型
|
9
way2exluren 2015 年 2 月 26 日
具体开多少个进程,要实测一下比较好。
cpu有多少“线程”,就开几个进程。 |
11
ericyue 2015 年 2 月 26 日
python没有严格意义的线程吧 还不如多进程快
|
12
hahastudio 2015 年 2 月 26 日 multiprocessing.Pool(processes=multiprocessing.cpu_count())
|
14
xdeng 2015 年 2 月 26 日
其实你可以 看cpu 使用率
|
15
zerh925 2015 年 2 月 26 日 cpu密集型:multiprocessing
io密集型:multithreading |
16
mathgl 2015 年 2 月 26 日 via Android 如果你的代码只是单纯的计算,可以用lupa。在python调用luajit。这样可以用线程,绕过gil。
|
17
min 2015 年 2 月 26 日 via iPhone
跑两遍就知道的事情,试验出来自己回答吧
|
18
ming2281 2015 年 4 月 1 日
我一般倾向于使用多进程,进程数==CPU核心数,再管理好进程间通信
|