Python-GIL锁(全局解释器锁)

全文大纲:

Python-GIL锁(全局解释器锁)_第1张图片

三次实验:

试验1

Python-GIL锁(全局解释器锁)_第2张图片

CPU情况:

说明:一个线程只占用一个核心

试验2

Python-GIL锁(全局解释器锁)_第3张图片

CPU情况:

说明:双线程的任务是均分给了两个CPU核心,多线程技术+默认编译器并不能充分发挥处理器的性能

试验3

Python-GIL锁(全局解释器锁)_第4张图片

CPU:

说明:多进程+默认的编译器能发挥出CPU的多核性能

如何发挥处理器的多核性能?

  • 方法一:使用多进程 + 默认解释器
  • 方法二:使用多线程 + 使用 jpython 解释器
  • 方法三:使用其他语言实现功能,再引入python程序中,创建一个线程指定该功能

如何将C语言的程序导入python程序中运行?

Python-GIL锁(全局解释器锁)_第5张图片

Python-GIL锁(全局解释器锁)_第6张图片

进程与线程的使用场景:

Python-GIL锁(全局解释器锁)_第7张图片

 

对于IO任务,多线程优于单线程:

使用多线程技术,在程序发送请求1时,可以不等待网站回复,直接进行下一个请求,效率提高。

Python-GIL锁(全局解释器锁)_第8张图片

你可能感兴趣的:(普通程序员,python)