同步控制
synchronized 擴充套件:重入鎖
public
static reentrantlock looklock= new reentrantlock();
public
static
int i=0;
public
void
run() catch (exception e) finally }}
public
static
void
main(string args) throws interruptedexception
中斷響應
我們在使用synchronized 來加鎖的話,那麼結果只有兩種可能 一是獲得鎖繼續執行。二是 繼續等待。但是我們使用重入鎖就可以使其中斷。
鎖申請等待限時
我們使用重入鎖的trylock()方法接受兩個引數,乙個表示等待時長,另外乙個表示計時單位。並且 該方法也可以不帶引數直接執行,在嘗試的時候能獲得到鎖,就會立即返回,當鎖被其他執行緒占用的時候當前執行緒不會進行等待,立即返回false. 不會產生等待。因此不會產生死鎖。**如下
公平鎖
java多執行緒初入3
程序的概念 程序 官方的語言是計算機中的程式,關於某資料集合上的一次執行活動。使系統進行資源分配和排程的基本單位單位,是作業系統的基本單位,是作業系統結構的基礎。在現在的執行緒設計的計算機結構中,程序是執行緒的容器,程式是指令資料及組織形式的描述,程序是程式的實體,但是總的來說 程序是執行緒的容器。...
java初入多執行緒10
執行緒阻塞工具類 locksupport public class locksupportdemo override public void run public static void main string args throws exception public class locksuppo...
java初入多執行緒12
自定義執行緒建立 threadfactory 我們原先用的執行緒池threadpoolexecutor 裡面的執行緒都是從threadfactory 建立的。2.作用 我們可以根據自定義執行緒池,幫助我們跟蹤執行緒池建立了多少個執行緒,也可以自定義執行緒的名稱,組以及優先順序等資訊。甚至可以將所有執...