Python学习之路:信号量

 1 import threading,time
 2 
 3 def run(n):
 4     semaphore.acquire()
 5     time.sleep(1)
 6     print("run the thread: %s\n" %n)
 7     semaphore.release()
 8 
 9 if __name__ == '__main__':
10 
11     num= 0
12     semaphore  = threading.BoundedSemaphore(5) #最多允许5个线程同时运行
13     for i in range(22):
14         t = threading.Thread(target=run,args=(i,))
15         t.start()
16 
17 while threading.active_count() != 1:
18     pass #print threading.active_count()
19 else:
20     print('----all threads done---')
21     print(num)
信号量

 

posted @ 2018-03-30 15:47  Py小白  阅读(138)  评论(0编辑  收藏  举报