On Sat, 1 Oct 2022 08:06:44 GMT, Tagir F. Valeev <tval...@openjdk.org> wrote:

> Java 17 added RandomGenerator interface. However, existing method 
> Collections.shuffle accepts old java.util.Random class. While since Java 19, 
> it's possible to use Random.from(RandomGenerator) wrapper, it would be more 
> convenient to provide direct overload shuffle(List<?> list, RandomGenerator 
> rnd).
> 
> As we are here, it would also be nice to get rid of Collections.r static 
> random generator which is used by default, and use ThreadLocalRandom instead. 
> This will reduce the contention if shuffle() without explicit random 
> generator is called from different threads concurrently.

See my comments in [JDK-8218282](https://bugs.openjdk.org/browse/JDK-8218282). 
While updating the one-arg Collections::shuffle to use ThreadLocalRandom seems 
obvious, it's not clear to me that we actually want to do that.

-------------

PR: https://git.openjdk.org/jdk/pull/10520

Reply via email to