JavaのConcurrentHashMapで同時実行レベルを設定する方法を教えてください? レベルが高すぎたり低すぎたりすると、どのような影響がありますか? 内部的にはどのように機能しますか?
2681 次
1 に答える
2
ConcurrentHashMap コンストラクター
public ConcurrentHashMap(int initialCapacity,
float loadFactor, int concurrencyLevel) {
必要に応じて同時実行レベルを適切に定義できます。2番目の質問について。ConncurrentHashMap (java 1.6) からの javadoc コメントは次のとおりです。
* Ideally, you should choose a value to accommodate as many
* threads as will ever concurrently modify the table. Using a
* significantly higher value than you need can waste space and time,
* and a significantly lower value can lead to thread contention.
したがって、理想的には、マップがどのくらい大きくなるか、マップにアクセスするスレッドの数などがわからない場合は、並行性のデフォルト値 (現在は 16) を使用することをお勧めします。
その助けを願っています!
于 2013-07-03T04:31:07.753 に答える