1
freefcw 2015-07-17 09:47:06 +08:00
你确定python的线程?
看瓶颈什么,一般的话,为了减少上下文切换浪费的资源,和cpu数量一致,但实际上瓶颈往往在磁盘和网络,数据库上,也就不是这么简单被约束了。 |
2
latteczy OP @freefcw 为什么要跟cpu数量一致呢?大于cpu数量会怎样?有人说Python的多线程只能利用单核,不能利用多核优势,有人又说他的cpu能跑满,被整迷糊了。。
还有,开多线程对内存有什么消耗么? |
3
geeglo 2015-07-17 10:00:23 +08:00
@latteczy 一个脚本跑满一个CPU,N核就跑N个。
大于cpu数量会怎样?freefcw 已经讲了:“一般的话,为了减少上下文切换浪费的资源,和cpu数量一致” |
6
dingyaguang117 2015-07-17 10:12:45 +08:00
CPU密集型才开跟CPU数量相同吧, IO一般要自己实测吧
|
7
socrates 2015-07-17 16:43:13 +08:00
python的多线程主要还是放在io密集型情况下使用把,比如要等待数据库访问这种场景的
对于cpython来说,肯定是只能用一个核呀,n个核的话,可以跑多进程 |
8
leavic 2015-07-17 17:05:47 +08:00
我写单片机代码过来的,多核是啥玩意都不知道,python多进程在windows上兼容性不是太好,反正多线程我觉得够用了。如果不是特别费时的任务,一个任务一个线程足够了,多了还得考虑资源互斥的问题,很烦。
|
10
ligyxy 2015-07-18 09:55:17 +08:00
线程数恐怕需要反复尝试了
|