lock 實現提供了比使用 synchronized 方法和語句可獲得的更廣泛的鎖定操作。此實現允許更靈活的結構,可以使用lock鎖進行具體的鎖定操作類,加鎖並且去釋放鎖
提供了具體的實現類:reentrantlock
//顯示獲取鎖的前提,一定要建立lock介面物件
lock lock= new reentrantlock();
reentrantlock類提供的兩個方法public void lock()
獲取鎖。
public void unlock()
試圖釋放此鎖。
public void run() catch (interruptedexception e)
system.out.println(thread.currentthread().getname() + "正在**第" + (tickets--) + "張票");
}} finally }}
}
jdk5的執行緒池
接上篇 url 繼續討論執行緒池 jdk5也提供了執行緒池 而且非常簡單 code executorservice pool executors.newfixedthreadpool 4 建立執行緒池 4個工作執行緒 pool.execute new runnabletask 向任務佇列新增任務,任...
JDK5新特性 列舉
一些程式在執行時,他需要的資料不能是任意的,而必須是一定範圍內的值,jdk5以前採用自定義類來解決,jdk5以後可以直接採用列舉解決。在jdk5之後,使用enum關鍵字定義一種新的型別,稱為列舉型別。enum類和enum關鍵字 使用enum關鍵字定義的列舉類,實際上就相當於定義了乙個類,此類繼承了e...
JDK5提供的阻塞佇列
jdk5的concurrent包裡面盡是寶貝,還好我有的是時間,正好可以一一八來。以前用多執行緒處理 生產者 消費者 問題的時候,需要採用wait,notify,現在有了這些阻塞佇列,就可以把這些wait,notify拋一邊,輕易的就能解決問題。首先是synchronousqueue,這個佇列裡面只...