私の Java コードでは、java.util.ArrayDeque のサイズがパフォーマンスに影響していると思われますが、その可能性があるかどうかをここで確認したかったのです。
while (!otherClass.getDeque().isEmpty()){
Trajectory t1 = otherClass.getDeque.remove();
Runnable tr1 = new TrajectoryThread();
Thread thread1 = new Thread(tr1);
thread1.start();
if (!otherClass.getDeque().isEmpty()){
Trajectory t2 = otherClass.getDeque.remove();
Runnable tr2 = new TrajectoryThread();
Thread thread2 = new Thread(tr2);
thread2.start();
私のコードでは、deque が空でない場合は軌跡オブジェクトを削除し、40 個のシミュレーションが同時に実行されるまで新しいスレッドでシミュレーションを開始します。各シミュレーションの最後に、さらに軌道をキューに追加する可能性があります。すべてのシミュレーションが終了した後もキューに軌道が残っている場合は、プロセスが繰り返されます。
私が使用する操作は、 remove() 、 add() 、 isEmpty() であり、別のクラスから Deque を取得することもできます。各反復のタイミングを計っているうちに、Deque サイズが 4421 オブジェクトの場合、7756 ミリ秒かかることがわかりました。一方、Deque サイズが 103 オブジェクトの場合、43 ミリ秒かかります。