Is Random class thread safe?
It is thread safe, although it wasn't always.
See http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6362070 for more details.
It is thread safe in the sense it will still generate random numbers when used by multiple threads.
The Sun/Oracle JVM implementation uses synchronized and AtomicLong as seed to improve consistency across threads. But it doesn't appear to be guarenteed across all platforms in the documentation.
I wouldn't write your program to require such a guarantee, especially as you cannot determine the order in which nextInt()
will be called.