进程&线程(二):Thread相关方法与属性

学习自:python进程、线程、协程 - 张岩林 - 博客园

1、threading.Thread

Thread方法

方法(使用方法为Thread.xxx) 说明
start() 激活线程
getName() 获取线程的名称
setName() 设置线程的名称
name 名称属性(不是方法)
is_alive() 判断线程是否为激活状态
isAlive() 同上
setDaemon 设置为后台线程或前台线程(具体见下)
ident 获取线程标识符
join() 阻塞主线程
run() 线程start()之后自动执行线程对象的run方法

Thread.setDaemon(False):前台线程——False;后台线程——True;

如果是后台线程,主线程执行过程中,后台线程也在进行,主线程执行完毕之后,后台线程不论成功与否,均停止;如果是前台进程,主线程执行过程中,前台线程也在进行,主线程执行完毕后,等待前台进程执行完毕后,程序停止。

2、threading.RLock与thread.Lock

RLock允许在同一线程中被多次acquire,而Lock却不允许这种情况。如果使用RLock,那么acquire必须和release必须成对出现,即必须调用相同次数的acquirerelease,才能真正释放所占用的锁。

3、threading.Event

Event对象用于主线程控制其他线程的执行,该对象主要提供了三个方法set、wait、clear.

事件处理机制:全局定义了一个Flag,如果Flag==False,那么当程序执行event.wait时就会阻塞,如果Flag==True,那么event.wait时不会阻塞

clear:将Flag设置为False

set:将Flag设置为True

posted @ 2021-04-22 15:54  ShineLe  阅读(160)  评论(0)    收藏  举报