mport threading
import time
def func(semaphore: threading.Semaphore, num):
# 获得信号量,信号量 -1
semaphore.acquire()
print(f"打印信号量:第{num}次")
time.sleep(3)
# 释放信号量,信号量 +1
semaphore.release()
if __name__ == '__main__':
# 初始化信号量,数量为 2
semaphore = threading.Semaphore(2)
# 运行4个线程
for num in range(4):
t = threading.Thread(target=func, args=(semaphore, num))
t.start()
多线程开发 使用Semaphore和BoundedSemaphore对象
发布时间 2023-08-11 18:39:20作者: Ennemi