這篇文章主要介紹了python使用多線程執(zhí)行多個(gè)函數(shù)的方法,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比雙流網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式雙流網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋雙流地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。
直接上代碼,多線程同時(shí)執(zhí)行多個(gè)函數(shù)代碼如下:
import time import os import threading def open_calc(): with open('test.txt', 'r') as f: for line in f.readlines(): while 'hello' in line: os.system("calc.exe") # 如果字符串已經(jīng)出現(xiàn)并已經(jīng)執(zhí)行命令,則終止程序,否則會(huì)一直執(zhí)行命令 return # 等f(wàn)or循環(huán)判斷完沒(méi)有標(biāo)識(shí)后再休眠重新調(diào)用該函數(shù) print('沒(méi)有找到啟動(dòng)標(biāo)識(shí):hello,等5秒再檢測(cè)') time.sleep(5) # 再次調(diào)用函數(shù) open_calc() def open_mstsc(): with open('test.txt', 'r') as f: for line in f.readlines(): while 'abc' in line: os.system("mstsc.exe") # 如果字符串已經(jīng)出現(xiàn)并已經(jīng)執(zhí)行命令,則終止程序,否則會(huì)一直執(zhí)行命令 return # 等f(wàn)or循環(huán)判斷完沒(méi)有標(biāo)識(shí)后再休眠重新調(diào)用該函數(shù) print('沒(méi)有找到啟動(dòng)標(biāo)識(shí):abc,等6秒再檢測(cè)') time.sleep(6) # 再次調(diào)用函數(shù) open_mstsc() if __name__ == '__main__': # 使用threading模塊,threading.Thread()創(chuàng)建線程,其中target參數(shù)值為需要調(diào)用的方法,同樣將其他多個(gè)線程放在一個(gè)列表中,遍歷這個(gè)列表就能同時(shí)執(zhí)行里面的函數(shù)了 threads = [threading.Thread(target=open_calc), threading.Thread(target=open_mstsc)] for t in threads: # 啟動(dòng)線程 t.start()
知識(shí)拓展——多線程
l 使用threading模塊里面的Thread類創(chuàng)建出實(shí)例對(duì)象,然后通過(guò)start()方法真正的去產(chǎn)生一個(gè)新的線程。
l 解釋器中來(lái)執(zhí)行代碼的叫做主線程。
l 通過(guò)start()方法創(chuàng)建出來(lái)的叫做子線程。
l 主線程會(huì)等待子線程全部結(jié)束之后才會(huì)結(jié)束。
l 當(dāng)調(diào)用Thread的時(shí)候,不會(huì)創(chuàng)建線程,當(dāng)調(diào)用Thread創(chuàng)建出來(lái)的實(shí)例對(duì)象的start()方法的時(shí)候才會(huì)創(chuàng)建線程以及讓這個(gè)線程開(kāi)始運(yùn)行。
查看當(dāng)前線程:
利用threading里面的enumerate()函數(shù)就能返回一個(gè)列表,當(dāng)前的線程作為單個(gè)元素存放在列表之中。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享python使用多線程執(zhí)行多個(gè)函數(shù)的方法內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問(wèn)題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來(lái)學(xué)習(xí)!