Java线程相对于Scala / Akka演员来说有多重?

13 浏览
0 Comments

Java线程相对于Scala / Akka演员来说有多重?

我刚刚在比较Scala的actors和Java的线程的性能。

我对差异感到惊讶,我观察到在我的系统上,我只能同时创建最多约2000个线程,但是在同一台系统上,我能够创建约500,000个Scala的actors。

这两个程序都使用了大约81MB的JVM堆内存。

你能解释一下为什么Java线程比Scala/Akka的actors更重量级吗?

是什么关键因素使得Scala的actors如此轻量级?

如果我想实现最佳的可扩展性,我应该选择基于actors的Web服务器,而不是传统的基于Java的Web/App服务器,比如JBoss或Tomcat吗?

谢谢。

0