python速度慢的原因
动态类型语言,边解释边执行
GIL,无法利用多核CPU并发执行
GIL
同步线程的一种机制,使得任何时刻仅有一个线程在执行。在多核心处理器上,使用 GIL 的解释器也只允许同一时间执行一个线程
为什么有GIL这个东西?
简而言之:python设计初期,为了规避并发问题引入了GIL,现在想去除却去不掉
怎么规避GIL带来的限制?
多线程threading机制依然是有用的,用于IO密集型计算
因为在IO期间,线程会释放GIL,实现CPU和IO并行,因此多线程用于IO密集型计算依然可以大幅提升速度,
但是多线程用于CPU密集型计算时,只会更加拖慢速度。
使用multiprocessing的多进程机制实现并行计算、利用多核CPU优势
为了应对GIL的问题,python提供了multiprocessing
标签:多线程,python,基础,线程,IO,GIL,CPU From: https://www.cnblogs.com/aleiyoy/p/16624944.html