python多线程

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

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

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

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

5、线程的状态

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

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

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

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

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

 

线程同步方式:

threadLock = threading.Lock()

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

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

posted on 2019-08-08 22:11  跑跑兔  阅读(200)  评论(0编辑  收藏  举报

导航