我知道这更像是一个算法问题,但它也是一个问题 与并发性极为相关。如何实现 O(n ^ 1.5)版本的算法?
答案 0 :(得分:3)
要查看的地方是stackoverflow,例如问题Concurrent Prime Generator。答案中有一个使用Go and channels。
答案 1 :(得分:1)
功能编程社区已经熟知优雅但低效的主筛实现。 Melissa O'Neill的这个paper给出了懒惰的“流”主要筛子的良好概述,并提供了有效的替代品。 (它使用Haskell,但无论如何应该是一个很好的阅读)
答案 2 :(得分:1)
Eratosthenes的筛子在迭代i中识别素数p_i并且在连续迭代中从所考虑的p_i的所有倍数中修剪。鉴于此,您可以在这里进行并行化的唯一方法就是修剪操作。这只能通过一个常数因子来加速,所以你不会用这种方式改变算法的大O.