停個車真的不是一般的難ReentrantLock.lock之LockSupport.park

阿敏總司令發表於2009-07-17
今碰到一問題,原以為程式碼用上 ReentrantLock.lock 想當然以為就是個很好用的東西,至少說不會出大問題吧,可是萬萬沒有想到的是:

在Web Container最大執行緒數設定了500線情況下,壓力測試了一把,居然給我滿了,一看,原來這麼壯觀的場面,第一次碰到。圈中的程式碼省略,大家看看估計會是由於什麼問題導致的?

[img]/upload/attachment/126167/0ede9057-0b4f-335c-8744-53feb1a18164.jpg[/img]

根據目前存在的問題,特提供如下效能與程式碼方面相關的資料,以供參考

Java 理論與實踐: JDK 5.0 中更靈活、更具可伸縮性的鎖
[url]http://www.ibm.com/developerworks/cn/java/j-jtp10264/[/url]

非阻塞演算法簡介
[url]http://www.ibm.com/developerworks/cn/java/j-jtp04186/[/url]

併發集合類
[url]http://www.ibm.com/developerworks/cn/java/j-jtp07233/[/url]

Java 語言與程式設計實踐
[url]http://www.ibm.com/developerworks/cn/java/coretech/java-lang.html[/url]

有車容易,停個車難。圖中特地用513的執行緒號表示“我要車”,左邊綠色的Running狀態的那就來表示開著車在找車位吧,我汗:)

發完貼子一看,居然在Running的狀態的執行緒號是“346”,那豈不是剛好為“塞死了”,爆汗ing...

週末了,樂一樂先:)

相關文章