一、ThreadLocalRandom
这是一个线程本地变量,每个生成随机数的线程都有一个不同的生成器,但是都在同一个类中被管理。
current()方法:这是一个静态方法,返回与当前线程关联的TaskLocalRandom对象,所以可以使用这个对象生成随机数
public static ThreadLocalRandom current() { if (UNSAFE.getInt(Thread.currentThread(), PROBE) == 0) localInit(); return instance; }
package concurrencycollection; import java.util.concurrent.ThreadLocalRandom; public class TaskLocalRandom implements Runnable { public TaskLocalRandom() { // TODO Auto-generated constructor stub ThreadLocalRandom.current(); } @Override public void run() { // TODO Auto-generated method stub String name = Thread.currentThread().getName(); for (int i = 0; i < 10; i++) { System.out.printf("%s : %s\n&#