鄭州Python培訓(xùn)機(jī)構(gòu):兩種實(shí)現(xiàn)方式表現(xiàn)python多線程
來(lái)源:
奇酷教育 發(fā)表于:
鄭州Python培訓(xùn)機(jī)構(gòu)老師給大家?guī)?lái)的內(nèi)容是關(guān)于python多線程的兩種實(shí)現(xiàn)方式(代碼教程),有一定的參考價(jià)值,有需要的朋友可以參考一下
鄭州Python培訓(xùn)機(jī)構(gòu)老師給大家?guī)?lái)的內(nèi)容是關(guān)于python多線程的兩種實(shí)現(xiàn)方式(代碼教程),有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。
線程是輕量級(jí)的進(jìn)程,進(jìn)程中可劃分出多個(gè)線程,線程可獨(dú)立的調(diào)度運(yùn)行(進(jìn)程中分割出來(lái)的可以獨(dú)立運(yùn)行的實(shí)例) 例如:我們的電腦cpu可以同時(shí)運(yùn)行qq和微信,qq運(yùn)行時(shí)可以同時(shí)打開多個(gè)聊天框. 在上述例子中qq 微信及進(jìn)程,每個(gè)聊天框?yàn)椴煌木€程
第一種:
利用threading中的Thread方法實(shí)現(xiàn)
import threadingimport timedef eat():
# 循環(huán)打印,延遲一秒
while True:
print("我在吃飯")
time.sleep(1)def drink():
while True:
print("我在喝水")
time.sleep(1)def main():
thr1 = threading.Thread(target=eat)
thr2 = threading.Thread(target=drink) # 創(chuàng)建并執(zhí)行線程
thr1.start()
thr2.start()if __name__ == '__main__':
main()
**第二種:
利用threading中的Timer函數(shù)**
import timeimport threadingdef eat():
# 循環(huán)打印
while True:
print("我在吃飯") # 延遲一秒
time.sleep(1)def drink():
while True:
print("我在喝水")
time.sleep(1)# 創(chuàng)建延遲觸發(fā),第一個(gè)參數(shù)為設(shè)置幾秒后開始,第二個(gè)是執(zhí)行函數(shù)名thr1 = threading.Timer(1, eat)
thr2 = threading.Timer(1, drink)
thr1.start()
thr2.start()