Java基本概念 執行緒開發

2021-07-26 07:27:46 字數 1492 閱讀 3519

一 執行緒和程序

1 程序(process):正在執行的程式

2 執行緒(thread):程序中的乙個任務,必須包含在程序中,程序是執行緒的容器

3 乙個程序中至少得包含乙個執行緒,包含乙個執行緒的程序叫單執行緒程序,包含兩個或兩個以上執行緒的程序叫多執行緒程序

4 執行緒的作用:使用多執行緒是為了讓多工並行

5 執行緒的狀態:

(1)出生狀態(born):執行緒剛new完的狀態

(2)就緒狀態(ready):例項化執行緒會使執行緒處於就緒狀態,但不會執行執行緒中的**

(3)執行狀態(run):呼叫執行緒的start方法會啟動執行緒,將其變為執行狀態

(4)阻塞狀態(block):由執行緒掛起、執行緒休眠、執行緒等待而引起的狀態,不是一直都有

(5)死亡狀態(dead):run方法執行結束時,執行緒終止

6 建立執行緒的方法:

(1)繼承thread類

(2)實現runnable介面

7 關閉程序時,一定先關閉所有程序的執行緒,即程序要等到所有執行緒都終止執行後才結束

8 執行緒具有優先順序,但不絕對改變執行緒的完成效率

9 main函式執行時所屬的執行緒稱為主線程

二 守護執行緒

1 守護執行緒:不影響程序的退出,是一直執行的程式

三 執行緒安全和非執行緒安全

1 執行緒安全:多執行緒並行時得到的結果是期望值時,稱執行緒安全

2 非執行緒安全:多執行緒並行時得到的結果有乙個不是期望值時,稱非執行緒安全

3 出現非執行緒安全的原因:多個執行緒操作同一資源

4 保證執行緒安全的方法:

(1)同步方法:在方法宣告時新增關鍵字synchronized為多執行緒訪問的方法加鎖,使得同時只允許乙個執行緒執行方法中的**,其他執行緒處於等待狀態

(2)同步塊:同步塊用於包含加鎖的語句,乙個執行緒執行到同步塊時,會對同步物件加鎖,然後執行同步塊中的語句,其他執行緒執行到同步塊時,進入等待狀態

5 同步塊和同步方法

(1)同步方法同一時刻只允許乙個執行緒訪問,乙個物件就是鑰匙,靜態方法的鑰匙是類名,例項方法的鑰匙是呼叫該方法的物件名

(2)同步塊可以以任意乙個字元作為鑰匙,或者以類名.class作為鑰匙

6 類名.class:獲取該類在方法區中的源**,源**在方法區中只載入一次

乙個類首次載入時,首先載入類的源**到方法區,然後執行靜態屬性、靜態塊

四 相關類

1 thread類:用於創造執行緒,操作執行緒的方法

2 timer類:執行緒類,對執行緒的封裝,封裝定時器

五 相關方法

(1)start():啟動執行緒

(2)sleep():為當前執行緒指定時間休眠,執行緒休眠不占用cpu資源

(4)setdaemon():設定該執行緒為守護狀態,該執行緒是否執行不影響程序的結束

(5)mkdir():建立當前目錄

(6)mkdirs():建立當前目錄和字目錄

(7)setpriority():修改執行緒優先順序狀態

Java執行緒基本概念

程序 執行緒 併發執行 在作業系統中兩個比較容易混淆的概念是程序 process 和執行緒 thread 作業系統中的程序是資源的組織單位。程序有乙個包含了程式內容和資料的位址空間,以及其它的資源,包括開啟的檔案 子程序和訊號處理器等。不同程序的位址空間是互相隔離的。而執行緒表示的是程式的執行流程,...

java多執行緒 多執行緒的基本概念

基本概念 同步和非同步 同步 操作一旦開始,呼叫者必須等到方法呼叫返回後,操作才能繼續進行。非同步 操作開始後,不必等到方法返回,即可開始其他操作。並行和併發 並行 假設有兩個cpu同時執行不同的執行緒,叫並行。併發 有乙個cpu,一會兒執行這個執行緒,一會兒執行那個執行緒,叫併發。臨界區 是值公共...

多執行緒基本概念

什麼是程式 為了完成某項特定的任務,使用某種語言,編寫一組指令的集合 什麼是程序 是乙個正在進行的程式 什麼是執行緒 在乙個程序中,執行的一套功能流程,稱為執行緒 在乙個程序中,執行的多套功能流程,稱為多執行緒 多執行緒程式的優點 1 降低資源消耗。通過重複利用已建立的執行緒降低執行緒建立和銷毀造成...