建立執行緒4種方法 同步機制3種方式

2021-10-05 18:03:59 字數 1180 閱讀 8419

----實現runnable介面 重寫run方法 -作為引數傳入thread

-----使用執行緒池

executorservice executorservice = executors.

newfixedthreadpool(2

);executorservice.

execute

(new

fool()

);//實現runnable的類

executorservice.

submit

(new

example()

);//實現callable的類

executorservice.

shutdown()

; threadpoolexecutor service =

(threadpoolexecutor) executorservice;

//體現執行緒管理前,需要進行強轉 體現多型性

service.

setcorepoolsize()

; service.

setmaximumpoolsize()

; service.

setkeepalivetime()

; executorservice.

shutdown()

;

好處:

響應速度更快

降低資源消耗

便於執行緒管理

ps:建立介面殊途同歸,都是為了重寫thread 的run方法

核心多個執行緒分別對相同資料在不同方法中操作時,應當把方法放在相同資料所在類內,這樣就有了天然的鎖

wait notify notifyall 都只能在同步**塊或方法中使用,但是所有型別的物件都有這個方法

因此lock實現同步機制解決執行緒安全問題時,無法使用 上述三個方法

在繼承thread的程序中,

可能需要將reentrantlock 屬性設定為靜態

實現runnable,callable介面時,天然為同一把鎖

在tryfinally 中使用,確保鎖一定被解鎖 上鎖的位置是在操作共享資料的**塊之前,解鎖的位置在其之後

使用的優先順序: lock>同步**塊》同步方法 (按照鎖住的範圍來排名,範圍越大,可提前載入的資源越少,效率越低,排名越後)

執行緒同步四種方法

執行緒同步的方法 1 wait 使乙個執行緒處於等待狀態,並且釋放所持有的物件的lock。2 sleep 使乙個正在執行的執行緒處於睡眠狀態,是乙個靜態方法,呼叫此方法要捕捉 interruptedexception異常。3 notify 喚醒乙個處於等待狀態的執行緒,注意的是在呼叫此方法的時候,並...

Linux執行緒3種同步方法

通過鎖機制實現執行緒間的同步。初始化鎖。在linux下,執行緒的互斥量資料型別是pthread mutex t。在使用前,要對它進行初始化。靜態分配 pthread mutex t mutex pthread mutex initializer 動態分配 int pthread mutex init...

java 控制線程同步的4種方法

控制同步的方法 已過時 加鎖 synchronized 互斥鎖 缺點 併發效率低下 synchronized synchronized obj 對obj加鎖的同步 塊 只有拿到obj鎖標記的執行緒,才能進入對obj加鎖的同步 塊 public synchronized void m 對this加鎖的...