a = threading.current_thread ( ) -> b’n查看当前代码执行的任务
print (a) –> 输出
a = threading.enumerate() -> 获取活动线程 - (活动:运行的线程 ) - 活动线程 是个列表
=> 列表 len( a ) 列表长度等于 活动数
=> threading.active 活动线程 个 数
主程序守护: 主线程会等待所有的子线程执行完成以后程序再退出
a = threading.Thread( target = 函数名 , daemon = True)
或者:
a. setDaemon ( True)
time . sleep(1) ———> 1秒后 直接停止主程序的运行
print(“结束..”)
exit ( )
自定义线程:
class 类名 ( threading.Thread) :
def _ init_ _( self ,参数... )
子类调用父类中 _init__函数: super(子类名 , self)
父类名._init__(self)
self .参数 =参数
def 函数1 ,函数2 ...
def run( self ):
self .函数1 ( )
self. 函数2 ( )
a = 类名(参数1, 参数2 )
a.start()
a = threading. Thrrad ( target = 函数名() )
a . start ( )
a . join( ) ---> 等待 a 线程执行完毕后在 执行下一个 线程
互斥锁:
lock = threading . Lock( ) ----> 互斥锁
def one( ) :
lock .acquire() 上锁
...
lock.release( ) 解锁
def two( ) :
lock. acquire() ----->上锁
...
lock . release() ----->解锁