python中調(diào)用線程的方法

不懂python中調(diào)用線程的方法?其實(shí)想解決這個(gè)問題也不難,下面讓小編帶著大家一起學(xué)習(xí)怎么去解決,希望大家閱讀完這篇文章后大所收獲。

創(chuàng)新互聯(lián)建站制作網(wǎng)站網(wǎng)頁(yè)找三站合一網(wǎng)站制作公司,專注于網(wǎng)頁(yè)設(shè)計(jì),成都網(wǎng)站制作、網(wǎng)站建設(shè),網(wǎng)站設(shè)計(jì),企業(yè)網(wǎng)站搭建,網(wǎng)站開發(fā),建網(wǎng)站業(yè)務(wù),680元做網(wǎng)站,已為上千服務(wù),創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)將一如既往的為我們的客戶提供最優(yōu)質(zhì)的網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷推廣服務(wù)!

Python調(diào)用線程有兩種情況,一種是在主線程中直接調(diào)用,還一種是直接在其他方法中調(diào)用線程

在傳遞參數(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=Th3, 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)了問題

# -*- 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=Th2, args=(input,))
            t.start()
        elif "PBD9008" in input.upper():
            t = Thread(target=Th3, args=(input,))
            t.start()
    except Exception as e :
        print(e)
 
def Th2(input):
    for i in range(1,10):
        print(input+"_"+time.strftime('%Y.%m.%d %H:%M:%S'))
        time.sleep(1)
    
def Th3(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)

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享python中調(diào)用線程的方法內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來(lái)學(xué)習(xí)!

文章名稱:python中調(diào)用線程的方法
文章地址:http://muchs.cn/article22/ihjejc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站營(yíng)銷網(wǎng)站制作、域名注冊(cè)、網(wǎng)站設(shè)計(jì)公司網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)