python之进程信号量Semaphore

实例:

from multiprocessing import Process,Semaphore
import os
import time
import random

sm=Semaphore(4)

def go_wc(sm):
    sm.acquire()
    print('%s is wcing' %os.getpid())
    time.sleep(random.randint(1,3))
    sm.release()

if __name__ == '__main__':
    for i in range(10):
        p=Process(target=go_wc,args=(sm,))
        p.start()

  

posted @ 2018-06-25 16:50  cyh追梦寻  阅读(107)  评论(0)    收藏  举报