掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
Python調(diào)用線程有兩種情況,一種是在主線程中直接調(diào)用,還一種是直接在其他方法中調(diào)用線程

創(chuàng)新互聯(lián)專注于網(wǎng)站建設(shè),為客戶提供網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)開發(fā)服務(wù),多年建網(wǎng)站服務(wù)經(jīng)驗(yàn),各類網(wǎng)站都可以開發(fā),高端網(wǎng)站設(shè)計(jì),公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設(shè)計(jì),建網(wǎng)站費(fèi)用,建網(wǎng)站多少錢,價(jià)格優(yōu)惠,收費(fèi)合理。
在傳遞參數(shù)的方式上有所區(qū)別,兩種調(diào)用方法如下
1. 主進(jìn)程中直接調(diào)用線程:
from threading import Thread
import time
def sayhi(name,input,number):
for i in range(1,10):
if number == "線程號(hào)1":
time.sleep(2)
print("這是線程號(hào):%s - %s say hello %s - %s" % (number,name, str(i),input))
else :
time.sleep(1)
print("線程號(hào):%s - %s say hello %s - %s 休息1秒" % (number,name, str(i),input))
if __name__ == '__main__':
for i in range(1,3):
t = Thread(target=sayhi, args=('mike','to you',"線程號(hào)"+str(i) ))
t.start()
print("主線程結(jié)束")2.在方法中調(diào)用線程:
在方法中調(diào)用線程的時(shí)候,如果不想另外寫一個(gè)class,也不想用self參數(shù),
在寫Thread(target=Th2, args=(input,))的時(shí)候,記得args數(shù)的最后中加一個(gè)“逗號(hào)”,這樣表明你傳的是一個(gè)數(shù)據(jù)元組
否則會(huì)報(bào)“takes 1 positional argument but 2 were given”這種錯(cuò)誤,因?yàn)閭魅氲膮?shù)數(shù)量識(shí)別時(shí)出現(xiàn)了問(wèn)題
# -*- coding: utf-8 -*-
import time
from threading import Thread
def doWork(input):
global interval
try:
print("begin")
if "DERNAV" in input.upper():
t = Thread(target=Th1, args=(input,))
t.start()
elif "PBD9008" in input.upper():
t = Thread(target=Th2, args=(input,))
t.start()
except Exception as e :
print(e)
def Th1(input):
for i in range(1,10):
print(input+"_"+time.strftime('%Y.%m.%d %H:%M:%S'))
time.sleep(1)
def Th2(input):
for i in range(1,10):
print(input+"_"+time.strftime('%Y.%m.%d %H:%M:%S'))
time.sleep(2)
def run(interval):
while True:
try:
doWork("PBD9008")
doWork("DERNAV")
time_remaining = interval - time.time() % interval
time.sleep(time_remaining)
except Exception as e:
print(e)
if __name__ == '__main__':
global interval
interval = 300
text = run(interval) 
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流