JAVA多執行緒(一) 建立執行緒的三種方式

2021-08-20 07:50:13 字數 1711 閱讀 4972

程式:program,是乙個靜態概念;指令集

程序:process,是乙個動態概念;由作業系統排程程式

執行緒:thread,是程序中乙個「單一的連續控制流程」;在程序內多條執行路徑;是乙個輕量級的執行緒

(一)繼承至thread,重寫run()方法

使用執行緒:

1. 建立子類物件

2. 呼叫start()方法,啟動執行緒

以龜兔賽跑為例 

1. 建立兩個執行緒

public class rabbit extends thread	}}

class tortoise extends thread

}}

2. 測試類

public static void main(string args) }}

3. 執行結果

在上面的程式中,共有三個執行緒:兔子執行緒,烏龜執行緒,main主線程

(二)實現runnable介面,重寫run方法

在這個地方會涉及到靜態**模式,感興趣的可以去了解一下

使用執行緒:

1. 建立真實角色

2. 建立**角色 + 真實物件的引用

3. 呼叫start()方法啟動執行緒

模擬同時做兩件事:聊qq,敲**

1. 建立乙個執行緒

public class programmer implements runnable 	

}}

2. 測試,也是乙個執行緒

public static void main(string args) }}

3. 執行結果

1. 避免單繼承的侷限性,類只能單繼承,介面可以實現多繼承

2. 便於共享資源

(三)實現callable介面

使用執行緒:

1. 建立callable實現類,重寫call()方法

2. 借助執行排程服務executorservice,獲取future物件

3. 獲取值

4. 停止服務

模擬獲取乙個執行緒的返回值

public class cal implements callable

@override

public integer call() throws exception

}class race implements callable

}

執行結果

java多執行緒建立的三種方式

如果用加鎖的多執行緒,最好使用redis的分布式鎖代替 加鎖的多執行緒非常影響效能,可能會導致伺服器卡死,宕機 1.繼承thread 無返回值 第一步 繼承thread public class person extends thread catch interruptedexception e f...

java執行緒建立的三種方式 以及多執行緒例子

1 定義thread類的子類,並重寫該類的run方法,該run方法的方法體就代表了執行緒要完成的任務。因此把run 方法稱為執行體。2 建立thread子類的例項,即建立了執行緒物件。3 呼叫執行緒物件的start 方法來啟動該執行緒。參考 例子1 銀行訪問錢問題 例子2 生產者與消費者問題 例子3...

java多執行緒三種方式

有三種 1 繼承thread類,重寫run函式 建立 class xx extends thread 開啟執行緒 物件.start 啟動執行緒,run函式執行 2 實現runnable介面,重寫run函式 開啟執行緒 thread t new thread 物件 建立執行緒物件 t.start 3 ...