当前位置: 代码迷 >> python >> 在python中没有睡眠功能的mutlthreads控制
  详细解决方案

在python中没有睡眠功能的mutlthreads控制

热度:30   发布时间:2023-06-27 21:48:17.0

如果我们有10个线程,则我要在10个线程中同时启动前5个线程,而在这5个线程完成/执行后,我只想启动另外5个也应该自动完成的线程,而无需使用任何睡眠功能蟒蛇

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])

以此类推,作为您的其他论点。

  相关解决方案