L'utilizzo della classe java.util.Random in un contesto di concorrenza può portare a dei cali di performance e a problemi di contesa delle risorse.
In ambienti multithreaded è preferibile utilizzare la classe
java.util.concurrent.ThreadLocalRandom
introdotta con la java 1.7.
Ad esempio per ottenere un numero causale tra 1 e 10 si può utilizzare il metodo nextInt(int least,int bound)
Dove la javadoc recita: "Returns a pseudorandom, uniformly distributed value between the given least value (inclusive) and bound (exclusive)", quindi
In ambienti multithreaded è preferibile utilizzare la classe
java.util.concurrent.ThreadLocalRandom
introdotta con la java 1.7.
Ad esempio per ottenere un numero causale tra 1 e 10 si può utilizzare il metodo nextInt(int least,int bound)
Dove la javadoc recita: "Returns a pseudorandom, uniformly distributed value between the given least value (inclusive) and bound (exclusive)", quindi
int n=ThreadLocalRandom.current().nextInt(1, 11);
System.out.println(n);
Nessun commento:
Posta un commento