多线程

                由于刚接触多线程,此随笔是一边学,一边写

多线程的开端

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(),使得线程跑完前,主线程一直处于等待状态
原文地址:https://www.cnblogs.com/tang-s/p/9689196.html