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

caa*_*os0 9 java unix windows multithreading

我对线程有一个小问题.在Unix系统上,我们有nice,可用于设置优先级进程.好的,在我的系统上,我调用了一些外部进程,但是,我想为它们设置优先级.在unix中,我可以调用其他ProcessBuilder并设置好我想要的进程,但在Windows中,它是不可能的.

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

干杯

aio*_*obe 5

没有办法Process在Java中设置process()级别的优先级.

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

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

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

相关问题/答案:

  • 只是为了补充一点,这只会为Java虚拟机中的线程设置优先级.您不能从操作系统级别影响线程优先级. (2认同)