在一个相关问题中,我们探索了使用 ProcessBuilder 使用依赖于操作系统的命令以低优先级启动外部进程。我还发现,如果父进程是低优先级的,那么它的所有衍生进程都以低优先级启动。所以我的新问题是关于以低优先级启动一个java文件(通过双击windows中的可执行jar运行)或在运行期间以编程方式更改其优先级。我曾尝试更改线程优先级,但这对 Windows 进程优先级没有影响。
我已经尝试了以下,但它不会改变任务管理器中的进程优先级
public class hello{
public hello(){
try{
Thread.currentThread().setPriority(1);
Thread.sleep(10000);
}catch(Exception e){e.printStackTrace();}
}
}
我能想到的唯一另一件事是使用批处理文件运行程序,但可以这么说,我宁愿把它留在家里。那么有谁知道基于java的方法来改变当前进程的优先级?理想情况下,如果能够在程序运行时响应用户输入来更改进程的优先级,那就太好了。