----實現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加鎖的...