/**
* 兩個執行緒之間通訊根據不同的條件進行不同的通訊
* 1.await()其他程阻塞,要是當前執行緒向下執行,那麼其他的執行緒必須喚醒它本身,這樣當前執行緒才可以繼續向下執行
* 2.signal()喚醒當前執行緒
*/public class main
public static void main(string args)
//輸出到3時,告訴b執行緒,當前執行緒阻塞,喚醒,是乙個互對的關係
reachthreecondition.signal();
} finally
lock.lock();
//等待輸出6的條件
try
} catch (interruptedexception e) finally
}});
//輸出6的執行緒
thread threadb = new thread(new runnable()
} catch (interruptedexception e)
} finally
lock.lock();
//接受到訊號
try
//4,5,6輸出完畢,告訴a執行緒6輸出完了
reachsixcondition.signal();
} finally
}});
//啟動兩個執行緒
threadb.start();
threada.start();
}
可以參考以下的乙個部落格
寫的很詳細,並且比較了object類和當前類的方法的區別,以及用法
多執行緒 多執行緒原理
我們首先要知道什麼是多執行緒,說白了就是多個執行緒,執行緒是什麼呢,其實就是程序執行的途徑,那麼說道這裡我們又引入了乙個新的名字,就是程序,那麼我們來看看什麼是程序,其實我們自己也能看到,啟動電腦的任務管理器,我們就可以看到程序選項,裡面是我們電腦所有的程序,我們會發現有很多的程序.簡單地說就是程序...
AQS之可重入鎖ReentrantLock原理
一 經典故事 村子裡面,有一口井水。水質很好,村民們都想打井裡的水。村長這時就制定了規則 井邊安排乙個看井人,維護打水的秩序。打水時,以家庭為單位,哪個家庭任何人先到井邊,就可以先打水,而且如果乙個家庭佔到了打水權,其家人這時候過來打水不用排隊。而那些沒有搶占到打水權的人,乙個乙個挨著在井邊排成一隊...
多執行緒(一) tomcat 多執行緒
web server允許的最大執行緒連線數還受制於作業系統的核心引數設定,通常windows是2000個左右,linux是1000個左右。1.編輯tomcat安裝目錄下的conf目錄下的server.xml檔案 maxthreads 150 表示最多同時處理150個連線,tomcat使用執行緒來處理...