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

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

不言
發布: 2018-09-11 16:32:45
原創
1420 人瀏覽過

這篇文章帶給大家的內容是關於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
作者最新文章
最新問題
python - ubuntu16.04 lxml的報錯
來自於 1970-01-01 08:00:00
0
0
0
有辦法在PHP裡寫Python嗎?
來自於 1970-01-01 08:00:00
0
0
0
python scrapy爬蟲錯誤
來自於 1970-01-01 08:00:00
0
0
0
python相關問題求解決,有償
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板