1. <source id="nejs2"></source>
  2. <video id="nejs2"></video>
    <source id="nejs2"></source>
          1. 首頁 > Python 教程 > Python 提高教程 > Python 多線程介紹

            Python 多線程介紹

            更新:

            在本教程中,我們將向您介紹多線程的概念,以及如何用 python 編程語言實現線程。讓我們從理解什么是線程開始。


            線程是輕量級進程(大型進程的子進程),可以并行運行,每個線程都可以執行一些任務。線程通常包含在進程中。同一進程中可以存在多個線程。在同一個進程中,線程共享內存和進程的狀態。

            螺紋類型

            有兩種線程:

            • 內核級線程
            • 用戶級線程

            下面我們解釋了兩者之間的一些區別:

            | 內核級線程 | 用戶級線程 | | 被操作系統識別。 | 操作系統無法識別。 | | 由操作系統實現。 | 由系統用戶實現。 | | 實現是復雜的。 | 實現簡單易行。 | | Solaris 就是一個例子 | Posix 就是一個例子 | | 需要硬件支持 | 不需要硬件支持 |


            什么是多線程?

            現在我們已經對什么是線程有了一個基本的概念,讓我們試著理解多線程的概念。

            現代計算機的中央處理器有多個處理核心,每個核心可以同時運行多個線程,這使我們能夠同時執行幾個任務。這個并發運行多個線程并行執行任務的過程叫做多線程。

            多線程提供了以下好處:

            • 一個進程中的多個線程共享相同的數據空間,因此可以比單獨的進程更容易地共享信息或相互通信。

            • 線程不需要太多內存開銷;就內存需求而言,它們比進程便宜。

            • 多線程程序可以在具有多個 CPU 的計算機系統上運行得更快,因為這些線程可以同時執行。

            舉個例子

            假設您創建了一個簡單的活動注冊應用,如果參與者希望參加活動,他們必須注冊。您有一個簡單的 HTML 表單供用戶填寫,還有一個后端,它是一個單線程應用。

            由于應用是單線程的,它一次只能處理一個請求。但是,如果這個活動是一場“酷玩音樂音樂會”,有數百萬人想要注冊,那該怎么辦。一次處理一個請求會大大降低性能。

            因此,我們使應用多線程化,并在其中啟動多個線程,從而允許并行處理。


            Python 中的多線程

            在 Python 中執行多線程使用threading模塊。threading模塊提供了幾種函數/方法,可以在 python 中輕松實現多線程。

            在我們開始使用threading模塊之前,我們想首先向您介紹一個名為time的模塊,它提供了一個time()、ctime()等函數,我們將經常使用這些函數來獲取當前系統時間,以及另一個關鍵函數sleep(),該函數用于在給定的秒數內暫停當前線程的執行。

            例如,

            現在讓我們看看如何使用threading模塊啟動多個線程。

            Code Example:

            讓我們試著理解上面的代碼:

            我們使用import threading語句導入了thread類,并且還導入了time模塊。為了創建一個新的線程,我們創建了一個 te Thread類的對象。它采用以下參數:

            target:線程將要執行的功能。

            args:要傳遞給目標函數的參數。我們可以傳遞多個用逗號分隔的參數。

            在上面的例子中,我們創建了兩個具有不同目標函數的線程,即thread1(i)thread2(i)。

            為了開始一個線程,我們使用了Thread類的start()方法。

            我們還使用了time模塊的time.sleep()方法暫停thread1的執行 3 秒鐘。

            一旦線程啟動,當前程序(您可以將其視為主線程)也會繼續執行。為了防止主程序在線程執行完成之前完成其執行,我們使用join()方法。

            因此,當前程序將等待t1t2的完成,并且只有在它們的執行完成之后,當前程序的剩余語句才會被執行,即語句print('Execution completed.')。

            在注釋掉第 16、17 行的代碼后,您應該嘗試運行上面的代碼一次,我們使用join方法查看結果。

            至此,我們對 python 多線程的基本介紹已經完成,現在我們知道如何在 python 中創建和啟動多線程。


            頂部 久久久久99精品成人片毛片_黃色A片三級三級三級无码_日本不卡高清视频v中文字幕_高清欧美视频一区二区
            1. <source id="nejs2"></source>
            2. <video id="nejs2"></video>
              <source id="nejs2"></source>