什么是JVM调度算法?

mrc*_*ori 13 java concurrency multithreading jvm

我真的很好奇JVM如何与线程一起工作!在我的互联网搜索中,我找到了一些关于RTSJ的资料,但我不知道这是否是我答案的正确方向.我还在sun的论坛http://forums.sun.com/thread.jspa?forumID=513&threadID=472453中找到了这个主题 ,但这并不令人满意.

有人可以给我一些关于JVM调度算法的指示,材料,文章或建议吗?

我也在寻找有关调度程序中Java线程的默认配置的信息,例如"时间切片时每个线程需要多长时间".而这个东西.

我将不胜感激任何帮助 !

谢谢 !

Mic*_*yan 19

没有单一的Java虚拟机; JVM是一个规范,它有多种实现,包括OpenJDK版本和Sun版本等.我不确定,但我猜想任何合理的JVM都会简单地使用操作系统提供的底层线程机制,这意味着UNIX上的POSIX线程(pthreads)(Mac OS X,Linux等)并且会暗示Windows上的WIN32线程.通常,这些系统默认使用循环策略.


Chr*_*lan 6

它没有。JVM 使用操作系统本机线程,因此由操作系统而不是 JVM 进行调度。

  • 一些 JVM 管理自己的线程。早期的 Sun JVM 就是这样做的。一些现代小型嵌入式 JVM 也可以这样做。 (3认同)