99问答网
所有问题
Python 多线程效率不高吗
如题所述
举报该问题
推荐答案 2017-11-03
Python由于有全锁局的存在(同一时间只能有一个线程执行),并不能利用多核优势。所以,如果你的多线程进程是CPU密集型的,那多线程并不能带来效率上的提升,相反还可能会因为线程的频繁切换,导致效率下降;如果是IO密集型,多线程进程可以利用IO阻塞等待时的空闲时间执行其他线程,提升效率。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/vtBXOXBjB7ete7e7WeX.html
相似回答
Python
多线程效率不高吗
?
答:
回答:
Python效率
到底高
不高
?到底是不是鸡肋?Python由于有全锁局的存在(同一时间只能有一个线程执行),并不能利用多核优势。所以,如果你的
多线程
进程是CPU密集型的,那多线程并不能带来效率上的提升,相反还可能会因为线程的频繁切换,导致效率下降;如果是IO密集型,多线程进程可以利用IO阻塞等待时的空闲时间...
为什么在
python
里推荐使用多进程而不是
多线程
答:
原因是:每个进程有各自独立的GIL,互不干扰,这样就可以真正意义上的并行执行,所以在python中,
多进程的执行效率优于多线程(仅仅针对多核CPU而言
)。所以在这里说结论:多核下,想做并行提升效率,比较通用的方法是使用多进程,能够有效提高执行效率 ...
python
为啥运行
效率不高
答:
所以笔者在工作中使用python多线程的情况并不多
,一般都是使用多进程(pre fork),或者在加上协程。即使在单线程,GIL也会带来很大的性能影响,因为python每执行100个opcode(默认,可以通过sys.setcheckinterval()设置)就会尝试线程的切换,具体的源代码在ceval.c::PyEval_EvalFrameEx。第五:垃圾回收...
python
异步协程跟多进程
多线程
哪个
效率高
?
答:
线程
是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一个程序的执行实例就是一个进程。每一个进程提供执行程序所需的所有资源。PS:上面都是摘抄自网页链接这里的,具体的可以看看这里,你的答案在图片的最后一点。因为线程和进程是不能层面的定义,一个进程可以...
为什么在
python
里推荐使用多进程而不是
多线程
答:
信号过来后处理方法有两种,一种是实时处理,这个没有好办法,可以用“微
线程
”的办法做,尽量减少处理周期。另外一种是允许少量的延迟。那么通常的做法是用队列。将信号放到线程或者是进程池的消息队列里。然后再由后者分配。还有一种高效的处理方法,根据信号的值做hash,然后自动分发到不同的CPU或者是...
为什么在
Python
里推荐使用多进程而不是
多线程
答:
IO密集型代码(文件处理、网络爬虫等),多线程能够有效提升
效率
(单线程下有IO操作会进行IO等待,造成不必要的时间浪费,而开启多线程能在线程A等待时,自动切换到线程B,可以不浪费CPU的资源,从而能提升程序执行效率)。所以
python的多线程
对IO密集型代码比较友好。而在python3.x中,GIL不使用ticks计数,...
python
为什么
多线程
会造成数据不准
答:
如果你的代码是CPU密集型,多个线程的代码很有可能是线性执行的。所以这种情况下
多线程
是鸡肋,
效率
可能还不如单线程因为有context switch 但是:如果你的代码是IO密集型,多线程可以明显提高效率。例如制作爬虫
Python
运行
效率低
的原因有哪些
答:
因为GIL,
Python中
的
多线程
并不能真正的并发,即使在单线程,GIL也会带来很大的性能影响,因为
python
每执行100个opcode就会尝试线程的切换,因此,影响Python运行
效率
。5.垃圾回收 Python采用标记和分代的垃圾回收策略,每次垃圾回收的时候都会中断正在执行的程序,造成所谓的顿卡,影响运行效率。
一篇文章带你深度解析
Python线程
和进程
答:
由于GIL的存在,
Python的多线程
不能称之为严格的多线程。因为 多线程下每个线程在执行的过程中都需要先获取GIL,保证同一时刻只有一个线程在运行。 由于GIL的存在,即使是多线程,事实上同一时刻只能保证一个线程在运行, 既然这样多线程的运行
效率不
就和单线程一样了吗,那为什么还要使用多线程呢? 由于以前的电脑基本...
大家正在搜
多进程和多线程效率
多线程为什么可以提高效率
异步和多线程哪个效率更高
多线程解决for循环效率问题
多线程效率
多线程和异步爬虫效率比较
什么是多进程和多线程
高并发是不是多线程
高频率和多线程
相关问题
python的多线程是真的多线程吗
python 是多线程还是多进程
python 这样写多线程对吗
为什么有人说 Python 的多线程是鸡肋
python 为什么多线程会造成数据不准
python的多线程使用setDaemon有什么意义
python的多线程使用setDaemon有什么意义
python 多进程和多线程配合