私は現在ConcurrentSkipList
、Java コレクションからアクセスする高度な並行ベンチマークを実行しています。そのメソッド内でスレッドがブロックされていることがわかりました。より正確には、次のとおりです。
java.util.concurrent.ConcurrentSkipListMap.doGet(ConcurrentSkipListMap.java:828)
java.util.concurrent.ConcurrentSkipListMap.get(ConcurrentSkipListMap.java:1626)
(これは、個々のスレッドのスタック トレースを 10 秒間隔で出力することによって得られます)。これは数分経ってもまだ解決されていません
これはコレクションの予期される動作ですか? ブロッキングが発生する可能性が高い同時の他のコレクションは何ですか?
ConcurrentHashMap
テストした結果、 sで同様の動作を示します。
java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:994)