新聞中心
我們都知道,代碼編程不是固定的東西,而是非常靈活的內(nèi)容,根據(jù)不同的內(nèi)容,我們可以拓展出很多條內(nèi)容,最終目的還是為了可以實(shí)現(xiàn)結(jié)果,給大家舉例說明其中一個(gè)最常用的多線程吧~以及實(shí)現(xiàn)的幾種方式。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),臨潁企業(yè)網(wǎng)站建設(shè),臨潁品牌網(wǎng)站建設(shè),網(wǎng)站定制,臨潁網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,臨潁網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
1. 用函數(shù)創(chuàng)建多線程
在Python3中,Python提供了一個(gè)內(nèi)置模塊 threading.Thread,可以很方便地讓我們創(chuàng)建多線程。
舉個(gè)例子
import time
from threading import Thread
# 自定義線程函數(shù)。
def target(name="Python"):
for i in range(2):
print("hello", name)
time.sleep(1)
# 創(chuàng)建線程01,不指定參數(shù)
thread_01 = Thread(target=target)
# 啟動(dòng)線程01
thread_01.start()
# 創(chuàng)建線程02,指定參數(shù),注意逗號(hào)
thread_02 = Thread(target=target, args=("MING",))
# 啟動(dòng)線程02
thread_02.start()
可以看到輸出
hello Python hello MING hello Python hello MING
2. 用類創(chuàng)建多線程
相比較函數(shù)而言,使用類創(chuàng)建線程,會(huì)比較麻煩一點(diǎn)。
首先,我們要自定義一個(gè)類,對(duì)于這個(gè)類有兩點(diǎn)要求,
l 必須繼承 threading.Thread 這個(gè)父類;
l 必須復(fù)寫 run 方法。
來看一下例子為了方便對(duì)比,run函數(shù)我復(fù)用上面的main。
import time
from threading import Thread
class MyThread(Thread):
def __init__(self, type="Python"):
# 注意:super().__init__() 必須寫
# 且最好寫在第一行
super().__init__()
self.type=type
def run(self):
for i in range(2):
print("hello", self.type)
time.sleep(1)
if __name__ == '__main__':
# 創(chuàng)建線程01,不指定參數(shù)
thread_01 = MyT
hread()
# 創(chuàng)建線程02,指定參數(shù)
thread_02 = MyThread("MING")
thread_01.start()
thread_02.start()
當(dāng)然結(jié)果也是一樣的。
hello Python hello MING hello Python hello MING
3. 線程對(duì)象的方法
上面介紹了當(dāng)前 Python 中創(chuàng)建線程兩種主要方法。
# 如上所述,創(chuàng)建一個(gè)線程 t=Thread(target=func) # 啟動(dòng)子線程 t.start() # 阻塞子線程,待子線程結(jié)束后,再往下執(zhí)行 t.join() # 判斷線程是否在執(zhí)行狀態(tài),在執(zhí)行返回True,否則返回False t.is_alive() t.isAlive() # 設(shè)置線程是否隨主線程退出而退出,默認(rèn)為False t.daemon = True t.daemon = False # 設(shè)置線程名 t.name = "My-Thread"
至此,Python線程基礎(chǔ)知識(shí),我們大概都介紹完了。感興趣的小伙伴可以多瀏覽看下內(nèi)容哦~如果還想知道更多的python知識(shí),可以到python學(xué)習(xí)網(wǎng)進(jìn)行查詢。
網(wǎng)頁題目:創(chuàng)新互聯(lián)Python教程:python中實(shí)現(xiàn)多線程有幾種方式?
標(biāo)題鏈接:http://fisionsoft.com.cn/article/cddheeo.html


咨詢
建站咨詢
