多執行緒核心技術 多執行緒技能

2021-08-16 05:49:43 字數 426 閱讀 2884

1)建立執行緒的方法:繼承thread,實現runnable

注意:例項變數與執行緒安全

2)具體方法:

isalive:判斷執行緒狀態,進入準備生命週期的執行緒返回true

sleep:睡眠,需要跑出interrupt異常以便執行緒打斷丟擲

如果在sleep的執行緒被打斷,sleep會被設定為false,sleep之前的**會執行,之後跳到exception,exception之後如果還有**依舊會被執行

suspend&resume:掛起&繼續(暫停&恢復)同樣已廢棄,容易造成獨佔物件,導致其他執行緒無法訪問synchronized物件,也容易造成資料不同步(執行緒掛起以後再次訪問靜態變數,獲取到修改到一半的內容)

yield:讓出cpu

priority:執行緒優先順序,1,5,10,越大越容易搶占cpu(但不是絕對的,有隨機性)

多執行緒核心技術 Lock

多執行緒中可以使用synchronized來進行執行緒同步互斥,在jdk1.5之後引入了reentrantlock類,不僅可以實現synchronized的功能,還進行了拓展,下面簡單寫個demo myservice public class myservice finally mythread p...

多執行緒核心技術 Lock的使用

一 reentrantlock類 reentrantlock類可以實現執行緒間同步互斥,嗅探鎖定,多路分支通知等功能。呼叫reentrantlock物件的lock 方法獲取鎖,呼叫unlock 方法釋放鎖。使用condition實現等待 通知 使用condition具有良好的靈活性,實現多路通知功能...

多執行緒核心技術(三) 執行緒間通訊

等待 通知機制的實現 wait方法 方法wait的作用是使當前執行 的執行緒進行等待,wait方法是object類的方法。該方法用來將當前執行緒置入 預執行佇列 中,並且在wait所在的 處停止執行,直到接到通知或被中斷為止。在呼叫wait方法之前,執行緒必須獲得該物件的物件級別鎖。即只能在同步方法...