python 无休眠功能的多线程控制

Control of mutlthreads without sleep function in python

如果我们有 10 个线程,在 10 个线程中,我想同时启动前 5 个线程,在这 5 个线程中的 completion/excution 之后,我想启动其他 5 个线程,它们也应该自动完成,在 python

中不使用任何睡眠功能
import threading
import os 
import sys
import time
from datetime import datetime,timedelta
now=datetime.now()

print ("starting time ",now)
emptylist=[]
list=[1,2,3,4,5,6,7,8,9,10,11,12]

def Add(num1):
    num2=1234
    num3=num1+num2
    #print num3
    #print("\n") 
    return num3







#print list


count=0
for i in list:

    t=threading.Thread(target=Add, args=(i,))
    emptylist.append(t)





for j in range(0,len(emptylist)+1,1):
    emptylist[j].start()
    count+=1
    if count%5 ==0:

for k in emptylist:
    k.join()

一般来说,最好避免手动使用线程,而使用线程池执行器。像

with futures.ThreadPoolExecutor(workers=5) as executor:
    result = executor.map(Add, [0, 1, 2, 3, 4])

你的其他论点依此类推。