2012-04-22 21 views
1

我在尋找它比較了多個線程之間的差異基準訪問同步地圖相比,哪些沒有線程,當線程共享的地圖,而不只是複製並在其上運行單獨多少速度失去了什麼?基準線程Java的

+2

共享地圖與複製,在地圖上單獨運行(或使用不需要被複制不可變的地圖)是完全不同的方法有問題,所以我會感到驚訝,如果有人寫了一個標杆,讓乾淨的比較。 – 2012-04-22 02:51:51

+3

速度損失取決於使用模式。編寫一個適合您的特定需求的基準比找到一個更容易。 – dasblinkenlight 2012-04-22 02:51:57

+0

我同意Adam Mihalcin和dasblinkenlight,可能最容易鞭打自己。如果經常複製地圖比讓地圖鎖執行任務更爲理想,我會感到驚訝。此外,它可能是一個更復雜的解決方案,除非你真的需要速度,否則不值得。 – 2012-04-22 06:49:46

回答

2

我做了這個測試比較Synchronized vs Lock performance

如果您擔心多線程訪問同一地圖的表現我會使用的ConcurrentHashMap或ConcurrentSkipListMap。