Некоторые вопросы о потоках Java и приоритетах процессов - PullRequest
9 голосов
/ 20 июня 2011

У меня небольшой вопрос по темам. В системах Unix у нас есть nice, который можно использовать для установки приоритетов процессы. Хорошо, в моей системе я называю некоторые внешние процессы, однако я бы хотел установить приоритет для них. В Unix я мог бы вызвать другой ProcessBuilder и установить хороший процесс хочу, но в винде это не возможно.

Если я запускаю поток с некоторым приоритетом и использую его в ProcessBuilder это, процесс будет иметь такой же приоритет, как поток? Или есть другой способ сделать это?

Приветствия

Ответы [ 2 ]

5 голосов
/ 20 июня 2011

Нет способа установить приоритет на уровне процесса (Process) в Java.

Если я запускаю поток с некоторым приоритетом и использую в нем ProcessBuilder, процесс будет иметь тот же приоритет, что и поток? Или есть другой способ сделать это?

Процесс будет выполняться рядом с JVM, поэтому он не наследует приоритет threads . Это будет запланировано самостоятельно операционной системой.

Как указывалось выше, не существует встроенного кроссплатформенного способа настройки приоритета процесса, но есть Thread.setPriority(int). Поэтому, возможно, вы могли бы выполнить работу внешней программой в отдельном потоке (вместо запуска нового процесса) и использовать метод setPriority в этом потоке.

Похожие вопросы / ответы:

4 голосов
/ 20 июня 2011

Вы можете написать C / C ++ DLL и экспортировать функцию JNI, которая вызывает SetPriorityClass

Вы можете использовать это в своем коде Java

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...