Which statement creates a low overhead, low-contention random number generator that is isolated to thread to generate a random number between 1 and 100?

Which statement creates a low overhead, low-contention random number generator that is
isolated to thread to generate a random number between 1 and 100?

Which statement creates a low overhead, low-contention random number generator that is
isolated to thread to generate a random number between 1 and 100?

A.
int i = ThreadLocalRandom.current().nextInt(1, 101);

B.
int i = ThreadSafeRandom.current().nextInt(1, 101);

C.
int i = (int) Math.random()*100+1;

D.
int i = (int) Math.random(1, 101);

E.
int i = new random().nextInt(100)+1;

Explanation:

public class ThreadLocalRandom extends Random
A random number generator isolated to the current thread. Like the global Random generator
used by the Mathclass, a ThreadLocalRandom is initialized with an internally generated seed that
may not otherwise bemodified. When applicable, use of ThreadLocalRandom rather than shared
Random objects in concurrentprograms will typically encounter much less overhead and
contention. Use of ThreadLocalRandom isparticularly appropriate when multiple tasks (for
example, each a ForkJoinTask) use random numbers inparallel in thread pools. Usages of this
class should typically be of the form: ThreadLocalRandom.current().nextX(…) (where X is Int,
Long, etc). When all usages are of this form, it is never possible to accidently share
a ThreadLocalRandom across multiple threads.
This class also provides additional commonly used bounded random generation methods.
Reference:Class ThreadLocalRandom



Leave a Reply 1

Your email address will not be published. Required fields are marked *