为什么在这种情况下Arrays.setAll比Arrays.parallelSetAll更快?
int[] array = new int[30000000];
Random rnd = new Random();
Arrays.parallelSetAll(array, i->rnd.nextInt(200));
答案 0 :(得分:7)
来自javadoc:
java.util.Random的实例是线程安全的。但是,并发 跨线程使用相同的java.util.Random实例可能会遇到 争用和随之而来的糟糕表现。考虑改为使用 多线程设计中的ThreadLocalRandom。