2020-11-26
Python培訓(xùn)
好程序員Python培訓(xùn)分享進(jìn)程與線程知識(shí),Python開(kāi)發(fā)語(yǔ)言現(xiàn)在已經(jīng)是被大家非常看中的編程語(yǔ)言了,本篇文章好程序員Python培訓(xùn)小編給讀者們分享一下Python進(jìn)程與線程知識(shí)小結(jié),本篇文章具有一定的參考借鑒價(jià)值,感興趣的小伙伴來(lái)了解一下吧,希望對(duì)小伙伴們有幫助。
傳統(tǒng)方式是調(diào)用2個(gè)方法執(zhí)行1個(gè)任務(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個(gè)線程同時(shí)并發(fā)執(zhí)行1個(gè)任務(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()
自己寫一個(gè)類繼承繼承threading.Thread
# -*- coding:utf-8 -*-
import threading
import time
class MyThread(threading.Thread):
def __init__(self,n):
super(MyThread,self).__init__()
self.n=n
#這里面默認(rèn)就有一個(gè)run方法
def run(self):
print('runing task',self.n)
if __name__ == '__main__':
#在主方法通過(guò)對(duì)象調(diào)用線程
t1=MyThread('t1')
t2=MyThread('t2')
t1.run()
t2.run()
使用for循環(huán)啟動(dòng)多個(gè)線程
# -*- 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()
等多線程同時(shí)執(zhí)行完后,再執(zhí)行其它代碼,因?yàn)榫€程是與其它代碼一起運(yùn)行的
# -*- coding:utf-8 -*-
import threading
import time
def run(n):
print('task',n)
time.sleep(3)
if __name__ == '__main__':
time_start=time.time()
#定義一個(gè)空列表裝線程t實(shí)例
t_objects=[]
for i in range(10):
t=threading.Thread(target=run,args=('t-%s'%i,))
t.start()
t_objects.append(t)
# 等所有線程執(zhí)行完后,再執(zhí)行下面的代碼
# 因?yàn)榫€程與下面的代碼是同時(shí)運(yùn)行的
# 要想先等線程執(zhí)行完畢再執(zhí)行其它代碼
# 使用join()方法進(jìn)行阻塞
#在這里統(tǒng)一結(jié)束所有t線程
for i in t_objects:
t.join()
time_end=time.time()
sun=time_end-time_start
print(sun)
最后想要了解更多關(guān)于Python和人工智能方面內(nèi)容的小伙伴,請(qǐng)關(guān)注好程序員Python培訓(xùn)官網(wǎng)、微信公眾號(hào)等平臺(tái)。
開(kāi)班時(shí)間:2021-04-12(深圳)
開(kāi)班盛況開(kāi)班時(shí)間:2021-05-17(北京)
開(kāi)班盛況開(kāi)班時(shí)間:2021-03-22(杭州)
開(kāi)班盛況開(kāi)班時(shí)間:2021-04-26(北京)
開(kāi)班盛況開(kāi)班時(shí)間:2021-05-10(北京)
開(kāi)班盛況開(kāi)班時(shí)間:2021-02-22(北京)
開(kāi)班盛況開(kāi)班時(shí)間:2021-07-12(北京)
預(yù)約報(bào)名開(kāi)班時(shí)間:2020-09-21(上海)
開(kāi)班盛況開(kāi)班時(shí)間:2021-07-12(北京)
預(yù)約報(bào)名開(kāi)班時(shí)間:2019-07-22(北京)
開(kāi)班盛況Copyright 2011-2023 北京千鋒互聯(lián)科技有限公司 .All Right 京ICP備12003911號(hào)-5 京公網(wǎng)安備 11010802035720號(hào)