後端開發之多執行緒Thread

2021-10-05 10:10:19 字數 1097 閱讀 2567

多執行緒的好處: 多執行緒解決了在乙個程序中同時可以執行多個任務**的問題。

自定義執行緒的建立方式:

方式一:繼承thread.  **為new mythread().start()

1. 自定義乙個類繼承thread類。

2. 重寫thread的run方法,把自定義執行緒的任務**定義在run方法上。

3. 建立thread子類的物件,並且呼叫start方法啟動乙個執行緒。

方式二: 實現runnable介面。 **為new thread(new myrunnable()).start

1. 自定義乙個類實現runnable介面。

2. 實現runnable介面中的run方法,把自定義執行緒的任務**定義在run方法上。

3. 建立runable實現類 的物件。

4. 建立thread物件,並且把runnable實現類的物件作為引數傳遞。

5. 呼叫thread物件的start方法開啟執行緒。

執行緒安全 問題的解決方案:

執行緒安全問題出現 的根本原因:

1. 必須要存在兩個或者兩個以上的執行緒共享著乙個資源。

2. 操作共享資源的**必須有兩句或者兩句以上。

1. 同步**塊

synchronized(鎖)

2. 同步函式。

修飾符 synchronized 返回值型別   函式名(形參列表..)

注意:1. 同步**塊的鎖可以是任意的物件。 同步函式的鎖是固定 的,非靜態函式的鎖物件是this物件。 靜態函式的鎖物件是class物件。

2. 鎖物件必須是多執行緒共享的物件,否則鎖不住。

3. 在同步**塊或者是同步函式中呼叫sleep方法是不會釋放鎖物件的,如果是呼叫了wait方法是會釋放鎖物件的。

Thread03之多執行緒執行緒狀態

demo 當執行緒被建立並啟動以後,它既不是一啟動就進入了執行狀態,也不是一直處於執行狀態。我們不需要去研究這幾種狀態的實現原理,我們只需知道在做執行緒操作中存在這樣的狀態。那我們怎麼去理解這幾個狀態呢,新建與被終止還是很容易理解的,我們就研究一下執行緒從runnable 可執行 狀態與非執行狀態之...

Python實戰之多執行緒程式設計thread模組

在python中除了可以通過繼承threading.thread類來實現多執行緒外,也可以呼叫thread模組中的start new thread 函式來產生新的執行緒,如下 import time,thread def timer print hello def test for i in ran...

Python實戰之多執行緒程式設計thread模組

在python中除了可以通過繼承threading.thread類來實現多執行緒外,也可以呼叫thread模組中的start new thread 函式來產生新的執行緒,如下 或者下面來看一下thread中的鎖機制,如下兩段 一 二 一中的值由於沒有使用lock機制,所以是多執行緒同時訪問全域性的c...