day9-线程例子

多线程执行,使用join函数获取全部线程执行完成时间
__author__ = "Alex Li"
import threading
import time
def run(n):
    print("task ",n )
    time.sleep(2)
    print("task done",n)
start_time = time.time()
t_objs = [] #存线程实例
for i in range(50):
    t = threading.Thread(target=run,args=("t-%s" %i ,))
    t.start()
    t_objs.append(t) #为了避免阻塞后面线程的启动,不在这里join,先放到一个列表里
for t in t_objs: #循环线程实例列表,等待全部线程执行完毕
    t.join()   #等待子线程执行完成后,在执行主线程
print("----------all threads has finished...")
print("cost:",time.time() - start_time)
相关文章
相关标签/搜索