随笔 - 832  文章 - 2  评论 - 31  阅读 - 167万

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

一、Random伪随机数:

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

 

 

常用解决方案:

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

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

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

链接:https://www.jianshu.com/p/29ae27e401d1

posted on   小破孩楼主  阅读(2023)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示