python如何使用线程

silencement
silencementasal
2019-05-25 11:24:383523semak imbas

python如何使用线程

Python线程操作

一、全局锁

1、在Python中,Python代码的执行由Python虚拟机来控制,而在Python虚拟机中,同一时刻只有一个线程在执行,就像单CPU的系统中运行多个进程那样,内存中可以存放多个程序,但在任意时刻,只有一个程序在CPU中运行。同样的,在Python解释器中可以“运行”多个线程,但在任意时刻,只有一个线程在Python解释器中运行。

2、对Python虚拟机的访问由全局解释器锁【GIL】来控制,正是这个锁能保证同一时刻只有一个线程在运行。

3、多线程环境中,Python虚拟机的执行方式为:

223becc09092d1473456477ea4e804d.png

二、线程模块

Python提供了【thread】和【threading】模块。在多线程编程中,建议使用【threading】模块,这是因为:

1、在【thread】模块中,当主线程退出时,其他没有被清除的线程没有运行结束就会被退出。但在【threading】模块中能确保所有的“重要的”子线程(这里的重要的子线程指的是守护线程)运行结束后,进程才会结束

2、在【threading】模块是更高级的线程模块,它不仅提供了Thread类,还提供了线程同步机制

thread模块

内建函数

7fc88e866fbc4f134f6960da5b35f09.png


Atas ialah kandungan terperinci python如何使用线程. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn