首頁 >後端開發 >Python教學 >Python多執行緒的應用(附實例)

Python多執行緒的應用(附實例)

不言
不言原創
2018-09-11 16:32:451313瀏覽

這篇文章帶給大家的內容是關於Python多執行緒的應用(附實例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

在引入多執行緒之前,我們先來看看一個非常簡單的實例。

實例:

#单线程实例
import time

def mark(index):
    print("Mark的帅,远近闻名,第%d次传播"%index)
    #暂停一秒,不然看不到效果哦
    time.sleep(1)

if __name__=="__main__":
    for i in range(6):
        mark(i)

結果:依照順序依序列印

Python多執行緒的應用(附實例)

#上面是單執行緒顯示效果,現在我們來用多線程處理一下。在這之前,我們應該要知道,thread模組是python比較底層的模組,

為了方便我們控制thread,python又使用threading模組對thread進行了封裝,下面就用到了threading模組。

實例:

#多线程实例
import time
import threading

def mark(index):
    print("Mark的帅,远近闻名,第%d次传播"%index)
    #暂停一秒,不然看不到效果哦
    time.sleep(1)

if __name__=="__main__":
    for i in range(6):
        #定义子线程
        t=threading.Thread(target=mark,args=(i,))
        #启动子线程
        t.start()

效果:

Python多執行緒的應用(附實例)

#看到效果了,原來的單線程,順序執行,至少要6s,而使用多線程,差不多1秒多一點就完成,可見運行效率的差距,這也是我們為什麼要使用多線程的原因。

2、主執行緒會等待所有子執行緒執行完成才結束

要驗證這一點很簡單,直接看程式碼:

#主线程会等待所有子线程执行完成才结束
import time
import threading

def mark():
    #暂停3秒
    time.sleep(3)
    print("Mark的帅,远近闻")

if __name__=="__main__":
    print("程序开始执行了")
    # 定义子线程
    t = threading.Thread(target=mark)
    # 启动子线程
    t.start()
    print("单线程程序到这里主线程就会结束了,多线程呢,看看吧")

效果:

Python多執行緒的應用(附實例)

相關推薦:

#Python多執行緒實例教學

Python threading多執行緒程式設計實例

#

以上是Python多執行緒的應用(附實例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn