线程进程,信号量,event事件,定时器,RLock,quene.Quene

Posted wrqysrt

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线程进程,信号量,event事件,定时器,RLock,quene.Quene相关的知识,希望对你有一定的参考价值。

cpu进程,核线程,都是并发几个

全局解释锁,多核cpu优势削弱

RLock用法与Lock一致,但是可以允许开启多个锁,但是也要关闭后,别的进程才能打开

信号量也是锁但是是一次可以进去几个、

Seamaphore() 用法与Lock一致

Event好处是可以唤醒

   事件
# 是用于协调多个线程工作的,当一个线程要执行某个操作,需要获取另一个线程的状态
# 你要给别人打电话 必须明确知道对方手机买好了
# 作为客户端 要连接服务器 必须明确服务器已经启动了,那么作为启动服务器的一方 如何告知客户端?
# 就通过事件
e = Event() #默认False
def start():

print("正在启动服务器......")
time.sleep(5)
print("服务器启动成功!")
e.set() # 就是把事件的值设置为True

def connect():
# 重试3次
for i in range(5):
print("等待服务器启动....")
e.wait(1) # 会阻塞 直到对方把事件设置为True
if e.isSet():
print("连接成功!")
break
else:
print("连接失败")
else: #如果3次都没成功 就打印这个消息
print("服务器没有启动")

Thread(target=start).start()
Thread(target=connect).start()





 

定时器

from threading import Timer

def task():
print(‘tuyiu‘)
q=Timer(1,task)
q.start()

线程队列

quene.Quene

 

以上是关于线程进程,信号量,event事件,定时器,RLock,quene.Quene的主要内容,如果未能解决你的问题,请参考以下文章

并发编程 - 线程 - 1.互斥锁/2.GIL解释器锁/3.死锁与递归锁/4.信号量/5.Event事件/6.定时器

13 join 线程锁之LockRlock信号量 将线程变为守护进程 Event事件  queue队列 生产者消费者模型 Queue队列 开发一个线程池

7 死锁,递归锁,信号量,Event事件,线程Queue

Python学习第24篇:死锁,递归锁,信号量,Event事件,线程Queue

python开发线程:死锁和递归锁&信号量&定时器&线程queue&事件evevt

并发编程之多线程篇之四