新聞中心
由于線程是操作系統(tǒng)直接支持的執(zhí)行單元,因此,高級(jí)語(yǔ)言通常都內(nèi)置多線程的支持,python也不例外,并且,Python的線程是真正的Posix Thread,而不是模擬出來(lái)的線程。

創(chuàng)新互聯(lián)專(zhuān)注于嵩縣網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供嵩縣營(yíng)銷(xiāo)型網(wǎng)站建設(shè),嵩縣網(wǎng)站制作、嵩縣網(wǎng)頁(yè)設(shè)計(jì)、嵩縣網(wǎng)站官網(wǎng)定制、小程序制作服務(wù),打造嵩縣網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供嵩縣網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。
Python的標(biāo)準(zhǔn)庫(kù)提供了兩個(gè)模塊:_thread和threading,_thread是低級(jí)模塊,threading是高級(jí)模塊,對(duì)_thread進(jìn)行了封裝。絕大多數(shù)情況下,我們只需要使用threading這個(gè)高級(jí)模塊。
啟動(dòng)一個(gè)線程就是把一個(gè)函數(shù)傳入并創(chuàng)建Thread實(shí)例,然后調(diào)用start()開(kāi)始執(zhí)行:
import time, threading# 新線程執(zhí)行的代碼:def loop():
print('thread %s is running...' % threading.current_thread().name)
n = 0
while n < 5:
n = n + 1
print('thread %s >>> %s' % (threading.current_thread().name, n))
time.sleep(1)
print('thread %s ended.' % threading.current_thread().name)
print('thread %s is running...' % threading.current_thread().name)
t = threading.Thread(target=loop, name='LoopThread')
t.start()
t.join()
print('thread %s ended.' % threading.current_thread().name)執(zhí)行結(jié)果如下:
thread MainThread is running... thread LoopThread is running... thread LoopThread >>> 1 thread LoopThread >>> 2 thread LoopThread >>> 3 thread LoopThread >>> 4 thread LoopThread >>> 5 thread LoopThread ended. thread MainThread ended.
由于任何進(jìn)程默認(rèn)就會(huì)啟動(dòng)一個(gè)線程,我們把該線程稱(chēng)為主線程,主線程又可以啟動(dòng)新的線程,Python的threading模塊有個(gè)current_thread()函數(shù),它永遠(yuǎn)返回當(dāng)前線程的實(shí)例。
主線程實(shí)例的名字叫MainThread,子線程的名字在創(chuàng)建時(shí)指定,我們用LoopThread命名子線程。
名字僅僅在打印時(shí)用來(lái)顯示,完全沒(méi)有其他意義,如果不起名字Python就自動(dòng)給線程命名為T(mén)hread-1,Thread-2……
當(dāng)前題目:創(chuàng)新互聯(lián)Python教程:python為什么可以多線程
當(dāng)前URL:http://www.dlmjj.cn/article/dpddiec.html


咨詢
建站咨詢
