天天看點

python 什麼叫主線程_python可以多線程的原因是什麼

python可以多線程的原因是什麼

釋出時間:2020-11-21 11:55:51

來源:億速雲

閱讀:67

作者:小新

這篇文章給大家分享的是有關python可以多線程的原因是什麼的内容。小編覺得挺實用的,是以分享給大家做個參考。一起跟随小編過來看看吧。

由于線程是作業系統直接支援的執行單元,是以,進階語言通常都内置多線程的支援,Python也不例外,并且,Python的線程是真正的Posix Thread,而不是模拟出來的線程。

Python的标準庫提供了兩個子產品:_thread和threading,_thread是低級子產品,threading是進階子產品,對_thread進行了封裝。絕大多數情況下,我們隻需要使用threading這個進階子產品。

啟動一個線程就是把一個函數傳入并建立Thread執行個體,然後調用start()開始執行:import time, threading# 新線程執行的代碼: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)

執行結果如下: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.

由于任何程序預設就會啟動一個線程,我們把該線程稱為主線程,主線程又可以啟動新的線程,Python的threading子產品有個current_thread()函數,它永遠傳回目前線程的執行個體。

主線程執行個體的名字叫MainThread,子線程的名字在建立時指定,我們用LoopThread命名子線程。

名字僅僅在列印時用來顯示,完全沒有其他意義,如果不起名字Python就自動給線程命名為Thread-1,Thread-2……

感謝各位的閱讀!關于python可以多線程的原因是什麼就分享到這裡了,希望以上内容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

上一篇: 等效采樣
下一篇: H橋