目录
一、信号量 multiprocess.Semaphore
意义:一套资源、代码同一时间只能被n个人访问、n个进程执行
格式:
from multiprocessing import Process
from multiprocessing import Semaphore
def ktv(i,sem):
sem.acquire() 获取钥匙
print('%s走进ktv'%i)
print('%s走出ktv'%i)
sem.release() 还钥匙
if __name__ == '__main__' :
sem = Semaphore(4) 一共有几把钥匙
for i in range(20):
p = Process(target=ktv,args=(i,sem))
p.start()
二、事件 —— multiprocess.Event
事件:通过一个信号来控制多个进程同时执行或者阻塞,一个事件被创建之后,默认是阻塞状态,一个事件被创建之后,默认是阻塞状态
格式:
from multiprocessing import Event
e &