1
由於的ConcurrentHashMap可以在寫操作不是100%安全的一致性(即尺寸()),使用的ReentrantReadWriteLock(或它是通過定製派生的),而是可以提高性能,對吧?在ConcurrentHashMap中,爲什麼不到位的ReentrantLock的上段使用的ReentrantReadWriteLock
由於的ConcurrentHashMap可以在寫操作不是100%安全的一致性(即尺寸()),使用的ReentrantReadWriteLock(或它是通過定製派生的),而是可以提高性能,對吧?在ConcurrentHashMap中,爲什麼不到位的ReentrantLock的上段使用的ReentrantReadWriteLock
性能改進將取決於您想要執行的操作類型。如果你想在線程正在寫入的時候讀取更多的信息,那麼肯定是肯定的[即採取了寫入鎖定],否則其他線程無法讀取或寫入鎖定,因此性能增益不會在那裏。
你爲什麼不寫一個基準,看看? (提示:獲得典型用例的良好覆蓋面將會非常棘手......) – 2013-05-03 03:41:31
是的,我知道,但是我想知道ConcurrentHashMap的一般場景。 – 2013-05-03 04:15:33
沒有這種通用場景。您所提議的性能影響將會*變化*取決於地圖的使用方式。 – 2013-05-03 05:09:47