python多线程

Posted emptyrabbit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python多线程相关的知识,希望对你有一定的参考价值。

1、进程为线程的入口,线程不可独立执行,必须依附在线程上,线程为cpu调度的最小单位

2、线程分为内核线程和用户线程,内核线程由操作系统创建和销毁,用户线程为在用户进程中实现的线程,不需要内核线程的支持

3、每个线程有自己的cpu寄存器,保存了上一次运行线程时候的寄存器上下文

4、线程共享一个进程的内存

5、线程的状态

新状态:线程对象创建,未start

可运行状态:在start开始的时候,首先进入可运行状态。在线程运行之后或者从阻塞、等待或睡眠状态回来后,也返回到可运行状态。

运行状态:线程调度从可运行线程池中选一个作为当前线程,这个时候的状态为运行状态。是线程进入运行状态的唯一方式。

等待/阻塞/睡眠状态:有事件发生后,可能返回到可运行状态

死亡状态:run()方法完成时就认为线程死去,线程对象可能还在,但是线程已经不是一个单独可执行的线程。线程死亡后不可复生,在死亡线程上调用start()方法会报错

 

线程同步方式:

threadLock = threading.Lock()

threadLock.acquire() 获得锁之后才往下执行

threadLock.release()释放对锁的占用

以上是关于python多线程的主要内容,如果未能解决你的问题,请参考以下文章

python 多线程

python多线程作用

python3.7多线程代码不执行?

python 多线程状态

python多线程探测url地址

python循环怎么用多线程去运行