摘要:上一篇文章線程專題縱覽篇下一篇文章線程專題多線程共享全局變量在引入多線程之前,我們先來看一個非常簡單的實例。實例單線程實例的帥,遠近聞名第次傳播暫停一秒,不然看不到效果哦結果按照順序依次打印上面是單線程顯示效果,現在我們來用多線程處理一下。
上一篇文章:Python線程專題縱覽篇
下一篇文章:Python線程專題2:多線程共享全局變量
在引入多線程之前,我們先來看一個非常簡單的實例。
實例:
#單線程實例 import time def mark(index): print("Mark的帥,遠近聞名,第%d次傳播"%index) #暫停一秒,不然看不到效果哦 time.sleep(1) if __name__=="__main__": for i in range(6): mark(i)
結果:按照順序依次打印
上面是單線程顯示效果,現在我們來用多線程處理一下。在這之前,我們應該要知道,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()
效果:
看到效果了,原來的單線程,順序執行,至少需要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("單線程程序到這里主線程就會結束了,多線程呢,看看吧")
效果:
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/42395.html
摘要:上一篇文章進程專題完結篇多進程處理的一般建議下一篇文章線程專題多線程使用的必要性進程線程進程能夠完成多任務,比如在一個電腦上可以運行多個軟件。由于占用資源少,也使得多線程程序并發比較高。 上一篇文章:Python進程專題完結篇:多進程處理的一般建議下一篇文章:Python線程專題1:多線程使用的必要性 進程VS線程 進程:能夠完成多任務,比如在一個電腦上可以運行多個軟件。線程:也能夠...
摘要:上一篇文章線程專題多線程使用的必要性下一篇文章線程專題對象在一個進程內的所有線程共享全局變量。但多線程對全局變量的更改會導致變量值得混亂。 上一篇文章: Python線程專題1:多線程使用的必要性下一篇文章:Python線程專題3:thread對象 在一個進程內的所有線程共享全局變量。但多線程對全局變量的更改會導致變量值得混亂。 實例:驗證同一個進程內所有線程共享全局變量 代碼: #...
摘要:語法創建定時器對象,在秒后運行函數,和提供傳遞給的參數和關鍵字參數。在調用方法后才能啟動計定時器。如果函數還未執行,取消定時器。否則,鎖將保持已鎖定狀態。 上一篇文章:Python線程專題3:thread對象下一篇文章:Python線程專題5:信號量與有邊界的信號量 Timer對象、Lock對象、Rlock對象 Timer對象 Timer對象用于在稍后的某個時間執行一個函數。 語法:...
摘要:實例使用隊列一般可以簡化多線程的程序。實際開發中,此處應該使用有用的工作代替完成,指示收到和返回哨兵好帥運行結果好帥多線程按順序執行直接看實例吧,控制多線程的執行順序代碼控制多線程的執行順序創建實例,第一個開始不上鎖結果 上一篇文章:Python線程專題9:線程終止與掛起、實用工具函數下一篇文章:敬請期待 queue模塊實現了各種【多生產者-多消費者】隊列。可用于在執行的多個線程之間安...
摘要:上一篇文章線程專題條件變量下一篇文章線程專題線程終止與掛起使用諸如之類的鎖原語時,必須多加小心,鎖的錯誤使用很容易導致死鎖或相互競爭。依賴鎖的代碼應該保證當出現異常時可以正常的釋放鎖。 上一篇文章:Python線程專題7:條件變量下一篇文章:Python線程專題9:線程終止與掛起 使用諸如Lock、RLock、Semphore之類的鎖原語時,必須多加小心,鎖的錯誤使用很容易導致死鎖或...
閱讀 2947·2021-09-23 11:32
閱讀 2918·2021-09-22 15:12
閱讀 1708·2019-08-30 14:07
閱讀 3448·2019-08-29 16:59
閱讀 1640·2019-08-29 11:11
閱讀 2307·2019-08-26 13:50
閱讀 2426·2019-08-26 13:49
閱讀 2621·2019-08-26 11:49