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可以多線程的原因是什麼就分享到這裡了,希望以上内容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!