2011-05-26 35 views

回答

2

实际上,Java虚拟机规范并未指定JVM如何处理线程。只有一个high level description。 Sun JVM本身在这方面做了一些改变:使用Java 1.1,它使用了由JVM本身管理的所谓的Green Threads。之后它使用主机操作系统提供的本地线程。

+0

我的问题主要是关于Java方法(不是更多的本地方法)。 JVM如何使用Javastack,Frames和Program Regiser来执行线程? – 2011-05-31 11:34:55

+0

谁会处理(os或jvm)线程优先级,相互通信,同步? jvm如何在这个设计中获得性能?... – 2011-05-31 11:45:40

3

对于每个正在运行的Java应用程序,都有一个单独的JVM进程。应用程序创建的线程在该进程内创建。

6

大多数JVM使用标准OS调用来创建本机线程(例如,Win32 CreateThread API或POSIX pthread_create),并在JVM中传递本机函数,继续执行线程中的Java代码。

+0

这可能适用于特定的实现。但它不是强制性的。 – musiKk 2011-05-26 13:37:36

+0

@musiKk:这就是我编辑它的原因。 – SLaks 2011-05-26 13:45:12

相关问题