想知道这个问题的答案的引子是 ConcurrentHashMap 的 addCount 方法里使用了它,网上搜索的话只有一个笼统的获取随机数。
但我追查到 ThreadLocalRandom 的源码中,发现它是获取当前线程对应的 Thread 类实例中的 threadLocalRandomProbe 成员变量。然后我使用 IDE 想调出 Thread 类中任何给这个成员变量赋值的语句,IDE 却告诉我这个成员变量没有被使用过。。
而 getProbe 本身是一个静态方法,其所属的 ThreadLOcalRandom 唯一的静态块我看过了,也没有给 threadLocalRandomProbe 赋值的语句。那么得到这个成员变量的值,有什么意义?它为什么是随机的?
谢谢
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…