信号量

import random
import time
from multiprocessing import Process
from multiprocessing import Semaphore #信号量类

def ktv(i,sem):
sem.acquire()
print('%s走进KTV'%i)
time.sleep(random.randint(60,120))
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()

posted @ 2020-09-03 14:53  济宁爱学习  阅读(121)  评论(0编辑  收藏  举报