我刚看完Rick Hickey的"Clojure Concurrency"演讲,我对线程有一些疑问.
假设我遇到了很多Agent的情况,让我们说其中10,000个运行一台机器.我宁愿不同时运行10,000个CPU线程,但我不希望线程被其他线程的操作阻止.
在这个例子中,我不会真正等待回复,而是每个代理将发送一两条消息,然后等待它收到消息.
如何在不获得10k OS线程的情况下构建这样的程序,这可能最终会降低系统速度.
请记住,Clojure 运行在 JVM 之上。因此,您可能有 10,000 个 Java 线程,但这并不等于 10,000 个操作系统进程。我怀疑垃圾收集器最终可能会成为您的瓶颈,因此我将专注于调整每个代理的足迹。(不用说,您应该在调整之前测试并验证这一点。)
| 归档时间: | 
 | 
| 查看次数: | 258 次 | 
| 最近记录: |