gpt4 book ai didi

scala - 使用 Akka Futures 并行生成随机数

转载 作者:行者123 更新时间:2023-12-04 14:04:25 25 4
gpt4 key购买 nike

我正在编写一个使用 Akka 2 Futures 构建的 CPU 密集型应用程序。我目前不需要 Actors,但我并不不愿意使用它们。

包含在 future 中的几个计算必须经常调用随机生成器。恐怕如果用经典的并发RNG,会成为瓶颈,失去可扩展性。

ExecutionContext 中为每个线程设置一个随机生成器的最快速/最简单的方法是什么? ?

有没有办法用不同的种子(但事先知道)来初始化它们,以便重复实验?

最佳答案

如果使用 ThreadLocalRandom 不是一个选项,你可以很容易地使用 ThreadLocal 编写你自己的和 Scala 的 Random .尽管提供“其他常用的有界随机生成方法”是留给感兴趣的开发人员的练习。

object ThreadLocalRandom {
private val localRandom = new ThreadLocal[util.Random] {
override protected def initialValue() = new util.Random
}

def current = localRandom.get
}

关于scala - 使用 Akka Futures 并行生成随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9600114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com