python 多线程理解

join:等子线程执行完成,才执行主线程
setDaemon:主线程退出,子线程也会退出 (子线程为主线程的守护线程,不设置此参数主线程执行完成,子线程还会执行的)

可以看出子线程执行顺序不定,但是主线程是在所有子线程执行完毕之后才执行的
import threading
import time

start_time=time.time()
def test(p):
time.sleep(0.001)
print(p,threading.current_thread().name)


ts = []

for i in range(15):
# target指定线程要执行的代码,args指定该代码的参数
th = threading.Thread(target=test, args=[i])
ts.append(th)
ts.start()

for i in ts:

i.join()

print("it is end !")
end_time=time.time()
print(end_time-start_time)

上一篇:对抗搜索Problem J. Situation


下一篇:第九届蓝桥杯本科Java B组题解【省赛】