マルチスレッド環境では、静的な ArrayList を持つシングルトンがあります。
1 つのスレッドがインスタンスを取得し、ArrayList に対して「for」ループを実行しているとします。ただ読んでいます。更新はありません。これが完了するまでに時間がかかる場合があります。これが発生している間、別のスレッドが ArrayList を更新します。
ループ (最初のスレッド) はどうなりますか? 理想的には、「for」ループが「古い」データで完了し、インスタンスを再度取得した場合は、新しいデータ セットを取得したいと考えています。
この場合の秘訣は volatile を使用しないことですか? または、「for」ループの静的 ArrayList から新しい ArrayList を作成しますか? または... ?