首页 > 编程语言 > 详细

Java7 的Random伪随机数和线程安全的ThreadLocalRandom

时间:2020-07-16 00:29:23      阅读:74      评论:0      收藏:0      [点我收藏+]

一、Random伪随机数:

Random 类专门用于生成一个伪随机数,它有两个构造器: 一个构造器使用默认的种子(以当前时间作为种子) ,另 个构造器需要程序员显式传入一个 long 整数的种子.
当使用默认的种子或传入相同的种子构造 Random 对象时,它们属于同一个种子,只要两个 Random 对象的种子相同,而且方法的调用顺序也相同,它们就会产生相同的数字序列 也就是说, Random 产生的数字并不是真正随机的,而是一种伪随机
技术分享图片

 

 

常用解决方案:

为了避免两个 Random 对象产生相同的数字序列,通常推荐使用当前时间作为 Random 对象的种子:

Random rand = new Random(System.currentTimeMi11is());
二、ThreadLocalRandom

ThreadLocalRandom 类是 Java 新增的 ,它 Random 的增强版 在并发访 问的环境下,使用ThreadLocalRandom 来代替 Random 可以减少多线程资源竞争,最终保证系统具有更好的线程安全性。
技术分享图片

 

Java7 的Random伪随机数和线程安全的ThreadLocalRandom

原文:https://www.cnblogs.com/zouhong/p/13308788.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!