并发包中ThreadLocalRandom类原理浅尝
一、 前言
ThreadLocalRandom类是JDK7在JUC包下新增的随机数生成器,它解决了Random类在多线程下多个线程竞争唯一的原子性种子变量的更新操作而导致大量线程自旋重试的不足。本节首先讲解下Random类的实现原理以及它在多线程下使用的局限性,然后引出ThreadLocalRandom类,通过讲解ThreadLocalRandom的实现原理来说明ThreadLocalRandom是如何解决的Random类的不足。
二、 Random类原理及其局限性
在JDK7之前包括现在java.util.Random应该是使用比较广泛的随机数生成工具类,另外java.lang.Math中的随机数生成内部也是使用的java.util.Random的实例。下面先通过简单的代码看看java.util.Random是如何使用的:
public