python 线程独立等待时间


# coding:utf-8

import threading
import time
#li列表是随机的int类型数字,长度可能有上百条。
li = [1,5,40,6,50,67,90,120,4,8]#等待时间     举例子
def run(n,T):
    '''任务函数'''
    print("任务号{}   等待时间{}".format(n,T))
    time.sleep(T)

####要求,根据li的长度去创建线程,每个任务根据li的值去等待run任务完成
####举例子:######
# 第一条任务执行run函数等待1秒,该线程按照1秒一直循环。li[0]
# 第二条任务执行run函数等待5秒,该线程按照5秒一直循环。li[1]
# 第三条任务执行run函数等待40秒,该线程按照40秒一直循环。li[2]

# ............一直这样循环下去
# 每条任务互不影响等待时间。
if __name__ == '__main__':
    while True:
        # 创建线程
        m = len(li)
        threads = []

        for i in range(m):
            t = threading.Thread(target=run, args=(i,li[i]))
            threads.append(t)
            t.start()

        for t in threads:
            t.join()

题目要求你每个线程里自己循环
而你做的是不断的循环启动线程
把while写进run里