2013-05-05 126 views
2

例如,我使用Java编写5线程的多线程程序。当我执行它时,操作系统(例如Windows 7)是否知道或者它只是一项任务?是java的多线程对操作系统可见

+1

打开任务管理器,我猜你可以看到一个唯一的映射! – NINCOMPOOP 2013-05-05 09:46:12

+0

HotSpot JVM已经为来自Java 1.2的每个操作系统使用了原生线程,用于添加绿色线程+1 – 2013-05-05 10:02:03

回答

7

这取决于JVM的实现。

但是,在Linux平台上,USUALLY在Java线程和本地线程之间有一对一映射。

或者,JVM可以选择使用多对一映射来实现,也就是说许多java线程都在一个本地线程上运行。这就是所谓的Green Thread.

+1

+1。 – mprabhat 2013-05-05 09:55:28

+0

这些Java线程的优先级较低,因为它们在一个本地线程上运行,与其他本地线程相比较? – 2013-05-05 10:22:40

2

现代JVM 倾向于使用操作系统线程,但不指定,而JVM是免费的,否则做。

相关问题