python如何使用线程

silencement
silencement 原创
2019-05-25 16:19:58 2843浏览

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


以上就是python如何使用线程的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。