python如何调用c函数实现真正意义的多线程_python如何使用多线程执行多个函数?...
之前小編給大家介紹了用python去返回了一個(gè)值,立馬就有小伙伴跟小編留言說道“能都執(zhí)行多個(gè)內(nèi)容?”于是,小編就給大家整理最細(xì)致,也是最簡單的實(shí)現(xiàn)方法,方便大家理解學(xué)習(xí),一起來看下吧~
直接上代碼,多線程同時(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í)行命令,則終止程序,否則會一直執(zhí)行命令
return
#?等for循環(huán)判斷完沒有標(biāo)識后再休眠重新調(diào)用該函數(shù)
print('沒有找到啟動標(biāo)識:hello,等5秒再檢測')
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í)行命令,則終止程序,否則會一直執(zhí)行命令
return
#?等for循環(huán)判斷完沒有標(biāo)識后再休眠重新調(diào)用該函數(shù)
print('沒有找到啟動標(biāo)識:abc,等6秒再檢測')
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:
#?啟動線程
t.start()
知識拓展——多線程
l使用threading模塊里面的Thread類創(chuàng)建出實(shí)例對象,然后通過start()方法真正的去產(chǎn)生一個(gè)新的線程。
l解釋器中來執(zhí)行代碼的叫做主線程。
l通過start()方法創(chuàng)建出來的叫做子線程。
l主線程會等待子線程全部結(jié)束之后才會結(jié)束。
l當(dāng)調(diào)用Thread的時(shí)候,不會創(chuàng)建線程,當(dāng)調(diào)用Thread創(chuàng)建出來的實(shí)例對象的start()方法的時(shí)候才會創(chuàng)建線程以及讓這個(gè)線程開始運(yùn)行。
查看當(dāng)前線程:
利用threading里面的enumerate()函數(shù)就能返回一個(gè)列表,當(dāng)前的線程作為單個(gè)元素存放在列表之中。
以上就是實(shí)現(xiàn)的全部內(nèi)容了哦~大家在做項(xiàng)目時(shí)候,可以直接調(diào)用呢~如果還想知道更多的python知識,可以到云海天教程網(wǎng)進(jìn)行查詢。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的python如何调用c函数实现真正意义的多线程_python如何使用多线程执行多个函数?...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 控制台发送get命令_.NET Core
- 下一篇: python3进阶_Python3 进阶