cpu进程,核线程,都是并发几个
全局解释锁,多核cpu优势削弱
RLock用法与Lock一致,但是可以允许开启多个锁,但是也要关闭后,别的进程才能打开
信号量也是锁但是是一次可以进去几个、
Seamaphore() 用法与Lock一致
Event好处是可以唤醒
事件# 是用于协调多个线程工作的,当一个线程要执行某个操作,需要获取另一个线程的状态# 你要给别人打电话 必须明确知道对方手机买好了# 作为客户端 要连接服务器 必须明确服务器已经启动了,那么作为启动服务器的一方 如何告知客户端?# 就通过事件
e = Event() #默认Falsedef 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
原文地址:https://www.cnblogs.com/wrqysrt/p/10506426.html
时间: 2024-10-14 04:22:43