0

我有一个 Java 进程,我想在 Windows 中以后台优先级运行(见这里)。有什么简单的方法可以做到这一点?

4

1 回答 1

0

Java 不强制任何线程实现,因此 Windows 上的 Sun JVM 与 Linux 上的 Sun JVM 的工作方式不同,等等。Windows 线程模型与 Linux 线程模型非常不同。甚至没有强制要求 Java 线程映射到底层 OS 线程。没有(或者当我在一年前查看时没有)任何文档 JVM 如何在 WINDOWS 上实现线程。

但是,在特定于 Windows 的情况下,您可以使用 JNI 或 COM 接口来更改进程/线程优先级。不过我不会打扰,我认为它会非常脆弱且难以测试。一个困难是从 Java Thread 对象中获取底层的 Windows 线程 ID。

你的后台任务监控/做什么?你能以不同的方式思考你的问题:它的本质是什么?Java 并发 API 可能有助于提供明确要求的替代解决方案。

于 2012-10-01T09:46:50.013 回答