ユーザーが指定した特定の数までの素数を計算し、その数を出力する単純なJavaアプリケーションがあります。これに基づいて、4 つの個別の数値範囲を反復処理する 4 つの個別のスレッドを組み込みました。4 つのスレッドすべてが反復を完了したら、最終的な ArrayList を出力します。
4 つのスレッドを開始した後、コードの次の行は、現在アクティブなスレッドの少なくとも 1 つによって変更されている ArrayList を印刷しようとする print ステートメントであるため、現在 ConcurrentModificationException を取得しています。
したがって、4 つのスレッドがすべて終了した後に print ステートメントを実行できるようにしたいと考えています。さらに、回転ループを使用せずにこれを実行したいと考えています。回転ループの使用に特に反対することはありませんが、これを行うためのより良い方法があり、回転ループがかなりの量のCPU。