Java學習 多執行緒基礎

2021-09-08 13:44:16 字數 2340 閱讀 5967

2.建立多執行緒方法

3.thread類的常用方法

4.執行緒的排程

5.執行緒的生命週期

6.執行緒的同步機制(synchronized)

7.執行緒的通訊

8.生產者與消費者的問題

程序(process):是程式的一次執行過程,或是正在執行的乙個程式。動態過程:有它自身的產生、存在和消亡的過程。

執行緒(thread):程序可進一步細化為執行緒,是乙個程式內部的一條執行路徑

public

class

testthread}}

// 繼承的方法建立多執行緒

class

mythread

extends

thread

}}

public

class

testthreadrunnable

}// 實現的方法建立多執行緒

class

mythreadrunnable

implements

runnable

}}

實現的方式較優

方法名功能start()

啟動執行緒並執行相應的run()方法

run()

子執行緒要執行的**放入run()方法中

currentthread()

靜態的,調取當前的執行緒

getname()

獲取此執行緒的名字

setname()

設定此執行緒的名字

yield()

呼叫此方法的執行緒釋放當前cpu的執行權

join()

在a執行緒中呼叫b執行緒的join()方法,表示,當執行到此方法,a執行緒停止執行,執行完b執行緒,a執行緒再接著執行

isalive()

判斷當前執行緒是否存活

sleep(long l)

顯式的讓當前執行緒睡眠l毫秒

如圖,執行緒的宣告週期分為五種狀態:

(obj/*同步監視器*/

)同步方法鎖:this(建立執行緒的方法為實現時 才成立)

public

synchronized

void

show()

class

singleton

private

static singleton instance = null;

public

static singleton getinstance()

}}return instance;

}}

定義在object類裡面

public

class

testproduceconsume

}class

clerk

catch

(interruptedexception e)

}else

}// 消費產品

public

synchronized

void

useproduct()

catch

(interruptedexception e)

}else}}

// 生產者類

class

prodecer

implements

runnable

@override

public

void

run(

)catch

(interruptedexception e)

clerk.

addproduct()

;}}}

// 消費者類

class

consumer

implements

runnable

@override

public

void

run(

)catch

(interruptedexception e)

clerk.

useproduct()

;}}}

Java基礎 多執行緒

多執行緒的概念,如何在程式中建立多執行緒 thread runnable 執行緒安全問題,執行緒的同步,執行緒之間的通訊 死鎖。一 建立執行緒和啟動執行緒。為什麼要覆蓋run方法 thread類用於描述執行緒。該類就定義了乙個功能。用於儲存執行緒要執行的 該儲存功能就是run方法。也就是說threa...

Java多執行緒基礎

thread.currentthread 與this的區別 thread t1 new thread target 在上述 中,thread.currentthread 指的是t1執行緒,this指的是target執行緒。可重入鎖 setdaemon boolean on 將當前執行緒設定為守護執行...

java多執行緒基礎學習 核心程式設計

使用多執行緒的經典條件 1.原始類 2.對原始類使用runnable 找出變化的條件 3.thread t new thread runnable t.start 解決同步問題 reentrantlock lock new reentrantlock code lock.lock try final...