我有一个简单的 java 应用程序,它计算素数到某个用户给定的数字并打印出这些数字。我在此基础上添加了四个独立的线程,这些线程遍历了 4 个不同的数字范围。一旦所有 4 个线程都完成了它们的迭代,我想打印最终的 ArrayList。
我目前收到 ConcurrentModificationException ,因为在我启动 4 个线程后,下一行代码是 print 语句,它试图打印 ArrayList ,此时至少有一个仍处于活动状态的线程正在修改该 ArrayList 。
因此,我希望能够在所有 4 个线程都死后执行 print 语句。此外,我想在不使用旋转循环的情况下做到这一点。我没有特别反对使用旋转循环,除了我想有更好的方法可以做到这一点,我可能不得不为 4 个线程分配更大的优先级,以防止旋转循环用完大量的中央处理器。