Многопоточность Java - приоритет потока
Кто-нибудь может объяснить, как приоритет потока работает в Java. Путаница здесь в том, что если Java не гарантирует реализациюThread
в соответствии со своим приоритетом, то почему этоsetpriority()
Функция используется для.
Мой код выглядит следующим образом:
public class ThreadSynchronization implements Runnable{
public synchronized void run() {
System.out.println("Starting Implementation of Thread "+Thread.currentThread().getName());
for(int i=0;i<10;i++)
{
System.out.println("Thread "+Thread.currentThread().getName()+" value : "+i);
}
System.out.println("Ending Implementation of Thread "+Thread.currentThread().getName());
}
public static void main(String[] args) {
System.out.println("Program starts...");
ThreadSynchronization th1 = new ThreadSynchronization();
Thread t1 = new Thread(th1);
t1.setPriority(1);
synchronized(t1)
{
t1.start();
}
ThreadSynchronization th2 = new ThreadSynchronization();
Thread t2 = new Thread(th2);
t2.setPriority(9);
synchronized (t2) {
t2.start();
}
System.out.println("Program ends...");
}
}
В вышеупомянутой программе, даже если я изменяю приоритет, я не вижу никакой разницы в выводе. Также было бы полезно использовать в реальном времени то, как можно использовать приоритет потоков. Благодарю.