ReentrantLock如何針對單獨無爭奪鎖同步執行同步?同步與ReentrantLock無爭用鎖
假設你打算實現一個兩個鎖類(這意味着你需要2個不同的鎖並且synchronized不夠用,就像LinkedBlockingQueue中那樣),通過說thread1和thread2完成put和take鎖的獲取總是),這意味着鎖是無人蔘與的,並且線程局部性的原則進入,ReentrantLock如何執行對同步(這將需要完全鎖定隊列)?
ReentrantLock如何針對單獨無爭奪鎖同步執行同步?同步與ReentrantLock無爭用鎖
假設你打算實現一個兩個鎖類(這意味着你需要2個不同的鎖並且synchronized不夠用,就像LinkedBlockingQueue中那樣),通過說thread1和thread2完成put和take鎖的獲取總是),這意味着鎖是無人蔘與的,並且線程局部性的原則進入,ReentrantLock如何執行對同步(這將需要完全鎖定隊列)?
大多數ReentrantLock在3個或更多的線程競爭時獲勝,但它取決於硬件,操作系統,JVM版本及其選項。
馬丁·湯普森公佈調查結果有關ReentrantLock的與在自己的博客同步塊和偏向鎖:[同步VS性能的ReentrantLock(HTTP的
http://mechanical-sympathy.blogspot.com/2011/11/java-lock-implementations.html
http://mechanical-sympathy.blogspot.com/2011/11/biased-locking-osr-and-benchmarking-fun.html
可能重複://計算器.COM /問題/ 11600520 /同步-VS-的ReentrantLock上性能) – oers 2012-07-28 19:23:22