欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Python多線程threading模塊如何創(chuàng)建子線程-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“Python多線程threading模塊如何創(chuàng)建子線程”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Python多線程threading模塊如何創(chuàng)建子線程”這篇文章吧。

公司主營業(yè)務:網(wǎng)站設計制作、成都網(wǎng)站建設、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出邕寧免費做網(wǎng)站回饋大家。

GIL(全局解釋器鎖)是C語言版本的Python解釋器中專有的,GIL的存在讓多線程的效率變低(哪個線程搶到鎖,就執(zhí)行哪個線程)。在IO密集型程序中,多線程依然比單線程效率高(GIL通過IO阻塞自動切換多線程)。

解決GIL(全局解釋器鎖)的問題的三種方法:

1、不要用C語言版本的Python解釋器。
2、讓子線程運行其他語言代碼(例如:主線程運行Python代碼,子線程運行C語言代碼(C語言的動態(tài)庫))。
3、多進程代替多線程(多進程可以利用多核CPU)。

創(chuàng)建子線程的第一種方式:

demo.py(通過函數(shù)名指定子線程的任務):

import threading
def test1():
  print("子線程運行了...")
def main():
  # 通過 target=函數(shù)名 的方式定義子線程
  t1 = threading.Thread(target=test1) # 通過target指定子線程要執(zhí)行的任務。可以通過args=元組 來指定test1的參數(shù)。
  t1.start() # 只有在調用start方法后才會創(chuàng)建子線程并執(zhí)行
  # threading.enumerate() 打印正在執(zhí)行的線程,包括主線程和子線程
  print(threading.enumerate()) # [<_MainThread(MainThread, started 139724821161728)>, <Thread(Thread-1, started 139724795434752)>]
  # 當子線程沒有結束時,主線程也不會結束。 當主線程結束后,所有的子線程也會結束。
if __name__ == "__main__":
  main()

運行結果:

子線程運行了...
[<_MainThread(MainThread, started 7076)>, <Thread(Thread-1, started 2832)>]

創(chuàng)建子線程的第二種方式:

demo.py(通過類來定義子線程):

#coding=utf-8
import threading
# 通過類定義子線程。 繼承threading.Thread類
class MyThread(threading.Thread):
  # 開啟子線程時,會自動執(zhí)行run函數(shù)
  def run(self):
    print(self.name) # Thread-1 name屬性中保存的是當前線程的名字
def main():
  t = MyThread() # 實例化自定義的子線程
  t.start() # 開啟子線程
if __name__ == '__main__':
  main()

運行結果:

Thread-1

以上是“Python多線程threading模塊如何創(chuàng)建子線程”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)成都網(wǎng)站設計公司行業(yè)資訊頻道!

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

分享名稱:Python多線程threading模塊如何創(chuàng)建子線程-創(chuàng)新互聯(lián)
標題鏈接:http://chinadenli.net/article14/diicge.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設微信小程序網(wǎng)站維護網(wǎng)站內鏈企業(yè)建站外貿建站

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設