关于Java线程和进程优先级的一些问题

关于Java线程和进程优先级的一些问题,java,windows,multithreading,unix,Java,Windows,Multithreading,Unix,我有一个关于线程的小问题。 在Unix系统上,我们有nice,可用于设置优先级 过程。 好的,开始​​我的系统,我调用一些外部进程,但是,我想 为他们设定优先级。 在unix中,我可以调用其他ProcessBuilder并将nice设置为 进程,但在Windows中,这是不可能的 如果我以某种优先级启动一个线程,并在ProcessBuilder中使用 如果这样,进程将具有与线程相同的优先级? 还是有其他方法可以做到这一点 干杯在Java中,无法设置进程(进程)级别的优先级 如果我以某种优先级启动

我有一个关于线程的小问题。 在Unix系统上,我们有
nice
,可用于设置优先级 过程。 好的,开始​​我的系统,我调用一些外部进程,但是,我想 为他们设定优先级。 在unix中,我可以调用其他ProcessBuilder并将nice设置为 进程,但在Windows中,这是不可能的

如果我以某种优先级启动一个线程,并在ProcessBuilder中使用 如果这样,进程将具有与线程相同的优先级? 还是有其他方法可以做到这一点


干杯

在Java中,无法设置进程(
进程
)级别的优先级

如果我以某种优先级启动一个线程,并在其中使用
ProcessBuilder
,那么该进程将具有与线程相同的优先级?还是有其他方法可以做到这一点?

进程将与JVM并行运行,因此它不会继承线程优先级。它将由操作系统自行安排

如上所述,没有内置的跨平台方法来调整流程的优先级,但有一个解决方案。因此,也许您可以在单独的线程中通过外部程序完成工作(而不是启动新进程),并在此线程上使用
setPriority
方法

相关问题/答案:

您可以编写一个C/C++DLL并导出一个调用


然后,您可以在java代码中使用它

Hi-caarlos0,对此没有明确的答案,因为我不熟悉您试图复制的特定功能,但在windows任务管理器中,您可以右键单击某个进程,并赋予其优先级或处理器相关性。此外,还找到了一些可能有用的链接:只需添加到这一点,这将只设置Java虚拟机中线程的优先级。您不能从操作系统级别影响线程优先级。