java - 用定制的任务调度程序替换 Java 中的任务调度程序

标签 java multithreading

我正在研究一个与调度程序和虚拟机有关的主题。我问this question昨天,我需要知道在 Java 中是否可以实现同样的操作。

那么,我想知道是否可以更改将任务映射到 Java 中真实操作系统线程的任务调度程序。

最佳答案

On Linux there is a one to one mapping of Java threads to operating system threads 。因此,在 Linux 上,Java 线程调度程序是内核调度程序。因此,要更改 Java 线程调度程序,您必须更改内核。我相信 Linux 有几个选项可以更改内核调度程序的行为,这可能足以满足您的需要。

如果您确实尝试不进行一对一映射,则必须更改 JVM。

由于 Linux 内核和 JVM(Open JDK 版本)都是开源的,因此这在技术上是可行的,尽管需要做很多工作。

关于java - 用定制的任务调度程序替换 Java 中的任务调度程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17350750/

相关文章:

java - 公共(public)类 Main 和类 Main 有什么区别?

c# - 后台消费者线程生命周期管理最佳实践

java - 进度条更新程序占用 CPU

java - 我正在尝试增加 ConcurrentHashMap 的值

创建或更新行时出现 java.sql.SQLException

java - Tomcat 启动日志 - 严重 : Error filterStart how to get a stack trace?

java - Java 中有没有好的计数布隆过滤器实现?

java - 将 TreeMap 修剪为 n 个条目

java - 多线程程序比单线程程序花费更长的时间(Java)

multithreading - 多线程二进制差异工具?