Я пытаюсь написать небольшой тест, где я пытаюсь изменить приоритет потока Java, чтобы установить его в свойство реального времени в моем ядре Scientific Linux.Изменение приоритета нити с помощью вызова JNI в Java
Я понял, что это нужно сделать с помощью вызова JNI, используя Thread.MAX_PRIORITY или Thread.MIN_PRIORITY, никогда не будет сопоставлять его с приоритетами в реальном времени.
Я в тупике, как я могу получить доступ к моему потоку java из моего собственного кода. Ниже моя Java программа:
public class ThreadPriorityTest implements Runnable {
public static int numThreads;
public void run() {
System.out.println("***Java: Changing thread priorities");
changePriority();
}
public static synchronized native void changePriority();
public static void main(String[] args) {
if(args.length != 1) {
System.out.println("Usage: ThreadPriorityTest <num_of_threads>");
System.exit(0);
}
numThreads = Integer.parseInt(args[0]);
for(int i = 0; i < numThreads; i++) {
Thread t = new Thread(new ThreadPriorityTest());
t.start();
}
}
}