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