由于刚接触多线程,此随笔是一边学,一边写
多线程的开端
import threading, datetime, time def Test1(test): print("Time1:%s %s" %(datetime.datetime.now(),test)) time.sleep(5) print("Time2:%s" %datetime.datetime.now()) def Test2(test): print("Time3:%s" %datetime.datetime.now(),test) time.sleep(10) print("Time4:%s" %datetime.datetime.now()) list = [Test1,Test2] threds = [] for i in list: t = threading.Thread(target=i,args=('观察时间变化',)) threds.append(t) if __name__ == '__main__': for i in threds: i.start() for i in range(len(list)): threds[i].join()
此代码要点:
1.观察时间的开始时间和结束时间,共用了10秒(在正常的流程下来所需的时间为 5+10 秒)
2.把需要加入多线程的函数添加到:threading.Thread()
3.开始多线程, xx.start()
4.每一个线程中都有个主线程,当主线程执行完,其线程也会停止,因此需要在每一个线程添加 xx.join(),使得线程跑完前,主线程一直处于等待状态