Python進程與線程知識,Python開發(fā)語言現(xiàn)在已經(jīng)是被大家非常看中的編程語言了,本篇文章給讀者們分享一下Python進程與線程知識小結(jié),本篇文章具有一定的參考借鑒價值,感興趣的小伙伴來了解一下吧,希望對小伙伴們有幫助。 傳統(tǒng)方式是調(diào)用2個方法執(zhí)行1個任務(wù),方法按順序依次執(zhí)行: # -*- coding:utf-8 -*- import threading import time def run(n): print('task',n) time.sleep(3) if __name__ == '__main__': run('t1') run('t2') 多線程例子 2個線程同時并發(fā)執(zhí)行1個任務(wù): # -*- coding:utf-8 -*- import threading import time def run(n): print('task',n) time.sleep(3) if __name__ == '__main__': t1=threading.Thread(target=run,args=('t1',)) t2=threading.Thread(target=run,args=('t2',)) t1.start() t2.start() 自己寫一個類繼承繼承threading.Thread # -*- coding:utf-8 -*- import threading import time class MyThread(threading.Thread): def __init__(self,n): super(MyThread,self).__init__() self.n=n #這里面默認就有一個run方法 def run(self): print('runing task',self.n) if __name__ == '__main__': #在主方法通過對象調(diào)用線程 t1=MyThread('t1') t2=MyThread('t2') t1.run() t2.run() 使用for循環(huán)啟動多個線程 # -*- coding:utf-8 -*- import threading import time def run(n): print('task',n) time.sleep(3) if __name__ == '__main__': for i in range(10): t=threading.Thread(target=run,args=('t-%s'%i,)) t.start() 等多線程同時執(zhí)行完后,再執(zhí)行其它代碼,因為線程是與其它代碼一起運行的 # -*- coding:utf-8 -*- import threading import time def run(n): print('task',n) time.sleep(3) if __name__ == '__main__': time_start=time.time() #定義一個空列表裝線程t實例 t_objects=[] for i in range(10): t=threading.Thread(target=run,args=('t-%s'%i,)) t.start() t_objects.append(t) # 等所有線程執(zhí)行完后,再執(zhí)行下面的代碼 # 因為線程與下面的代碼是同時運行的 # 要想先等線程執(zhí)行完畢再執(zhí)行其它代碼 # 使用join()方法進行阻塞 #在這里統(tǒng)一結(jié)束所有t線程 for i in t_objects: t.join() time_end=time.time() sun=time_end-time_start print(sun) |
|
來自: 好程序員特訓營 > 《Python培訓教程》