python 线程

Posted lides

tags:

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

# THREAD 线程
t = threading.Thread(target=test,args=(test,))
t.setDaemon(True)#t设为守护线程,在主线程生命周期结束时结束,主线程会在其他非守护线程结束后结束,并且需要在启动前设置
t.start()#启动线程
t.join(10)#主线程等待子线程(t)执行10s(缺少则是线程结束)后执行
t.setName(test)#设置线程名称
threading.currentThread()#获取当前线程
threading.enumerate()#枚举当前所有活跃线程

 



# LOCK 互斥锁 (主要用于同步块同步)

lock = threading.Lock()
lock.acquire()#获取锁
#同步块
lock.release()#释放锁

# EVENT 同步对象(主要用于等待其他线程通知执行时执行)


event = threading.Event()
event.set() #线程中设置标识符为True
event.wait()#线程中等待标识符为True时执行
event.clear()#线程中设置标识符为False

# 同步块信号量


‘‘‘
每当调用acquire()时,内置计数器-1
每当调用release()时,内置计数器+1
计数器不能小于0,当计数器为0时,acquire()将阻塞线程直到其他线程调用release()。
‘‘‘
semaphore = threading.Semaphore(5)
semaphore.acquire()
# 同步块
semaphore.release()

 

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

什么是Python线程?Python线程如何创建?

python多线程并发数量控制

python多线程和多线程问题

python每个线程消费不用数据

Python 线程创建和传参

python多线程作用