あまりに頻繁ではない1日に1〜2回更新されるアカウントのリストがあります。
このデータには、かなりの間隔で「含む」ルックアップがあります。
理想的なデータ構造はConcurrentLinkedListでしたが、残念ながらそれはありません。
CopyOnWriteArrayListは唯一の優先オプションですか?並行してリストを更新する
答えて
ほとんどの場合、なぜ並行データ構造が必要なのですか?代わりに、HashSetまたはHashMapを使用できます。より速く読むことができます。あまり頻繁に更新されないので、書き込み部分を明示的に同期させることができます。
これは間違っているように見えます。なぜなら、あるスレッドが他のスレッドを書いている間に失効したデータを読み込むべきではないからです。 –
しかし、これはあまり頻繁には更新されないので、明示的にロックを使用してそれを処理することができます。右 ?。また、あなたの読書のパフォーマンスはあなたのケースでもっと速くなければなりません、リストには包含のための複雑さがあります。 –
あなたは、複数のスレッドが読み取ることができる明示的なロックではなく、読み取り/書き込みロックを個別に実装する必要があります。使用できるように設定されています。
- 1. Cassandra並行更新の更新
- 2. MySQL(MyISAM)テーブルを並行して更新するには?
- 3. 2更新パネルが並行して実行される
- 4. Java並列ネットワークリクエストとリストの更新
- 5. リストを更新してJQueryを使用して更新リストを表示
- 6. 共通リストと並行して実行する関数
- 7. エスパーと更新リスナーの並行性
- 8. phpとmySQLデータベースの並行性更新
- 9. ルックアップテーブルとしてリストのリストを使用し、新しいリストのリストの値を更新する
- 10. 複雑なオブジェクトを更新する並行タスクJavaFX - swingworker相当?
- 11. hibernate hql - 更新クエリ実行後に更新された行IDリストを返す
- 12. Python:並行リストでリストをソート
- 13. リストからリストを更新するアルゴリズム
- 14. リストのリストを更新する
- 15. C#リストの更新としてフォームの内容を更新する
- 16. 並行して2つのリストのマップに相当するリストの理解
- 17. DbEntityEntry OriginalValues対TryUpdateModel並行更新を避けるためのRowVersion
- 18. ユニットテストを並行して実行する
- 19. 並行してタスクを実行する
- 20. メソッドを並行して実行する
- 21. ワークフローを並行して実行する
- 22. 並行してRSeleniumを実行する
- 23. 選択リストからの新しいデータでMySQLの行を更新するPHP
- 24. Pythonでリストを並行させる
- 25. SQL Server 2000 - 行を更新して更新された行を返します
- 26. リストへの並行アクセス
- 27. 更新リストについて
- 28. Pandas Dataframesを並行して並べて並び替えます。
- 29. 関数を使って変数を変更した後に、リスト(リスト)を更新したリストで更新するにはどうすればよいですか?
- 30. リストを分割し、Javaを使用して並列実行する方法
こんにちはなぜ、最初にルックアップする何らかの種類のツリーまたはハッシュマップデータ構造を考えていない –
'CopyOnWriteArrayList'はユースケースに最適です。あなたはそれに対して何を持っていますか? – shmosel
あなたが探しているかもしれません。Set set = Collections.newSetFromMap(new ConcurrentHashMap ()); –