Mr.*_*r.X 5 multithreading actor
为什么在一个应用程序中可以有数百万个参与者,但是只有10,000个线程太多呢?创建数百万个演员的实践是可行的,但超过两个线程却不可行吗?演员不能做什么线程(否则我们将一直使用演员!)?
假设 Scala 和 JVM:
每个线程为其堆栈保留一定量的内存:
java -v
-Xss<size> set java thread stack size
Run Code Online (Sandbox Code Playgroud)
所以创建很多线程会耗尽你的内存。
另一方面,多个参与者可能共享相同的堆栈,因此对内存的需求要少得多。