我某处读到某个地方,每个核心应该有一个JVM。我还读到Java不适合多核或CPU,因此scala是首选。
最近on a link我读到多个线程确实在不同的核心中执行(如果可用)。
问题:
答案 0 :(得分:4)
是。实际上,现在所有的JVM都使用本机线程。因此,跨内核的线程调度和分配由操作系统完成,而不是由JVM完成。
Scala在JVM上执行,就像Java一样。因此,线程在Java和Scala之间使用内核的方式没有区别
没有理由每个核心有一个JVM。您可能希望避免每个JVM使用两个内存,或者能够在没有任何服务中断的情况下使用版本1到版本2,但这是另一回事。
没有理由与多线程问题有关。正如我所说,您可能希望有两个JVM能够在没有任何服务中断的情况下关闭一个JVM,或者为不同的客户隔离同一个应用程序的两个版本。但这与多线程无关。