ThreadLocalRandom的setSeed(long seed)

生成随机数是很常见的任务。 这也是 JAVA 提供 Random 的原因。但是它在多线程环境中性能并不高。

简单来说,Random 之所以在多线程环境中性能不高的原因是多个线程共享同一个 Random 实例并进行争夺。为了解决这个限制,JAVA 在 JDK 7 中引入了 ThreadLocalRandom 类,用于在多线程环境下生产随机数。

ThreadLocalRandom 强于 Random

ThreadLocalRandom 结合了 RandomThreadLocal 类,并被隔离在当前线程中。因此它通过避免任何对 Random 对象的并发访问,从而在多线程环境中实现了更好的性能

一个线程获取到的随机数不受另一个线程影响,而 Random 提供全局的随机数。

另外,不同于 RandomThreadLocalRandom 明确的不支持设置随机种子。 它重写了 Random
setSeed(long seed) 方法并直接抛出了 UnsupportedOperationException 异常。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值