import threading
import time
sem = threading.Semaphore(4) # 限制线程的最大数量为4个
def gothread():
with sem: # 锁定线程的最大数量
for i in range(8):
print(threading.current_thread().name, i)
time.sleep(1)
for i in range(5):
threading.Thread(target=gothread).start()