演示Java中的线程优先级

可以通过实现Runnable接口并覆盖该run()方法来创建线程。然后可以创建一个Thread对象并start()调用该方法。

线程优先级可以由JVM或程序员提供给线程。它确定何时向线程提供处理器以及其他资源。setPriority()Thread类的方法可用于设置线程的优先级。

给出了一个演示Java线程优先级的程序,如下所示:

示例

public class ThreadDemo extends Thread {
   public void run() {
      System.out.println("Running...");
   }
   public static void main(String[] args) {
      ThreadDemo thread1 = new ThreadDemo();
      ThreadDemo thread2 = new ThreadDemo();
      ThreadDemo thread3 = new ThreadDemo();
      ThreadDemo thread4 = new ThreadDemo();
      ThreadDemo thread5 = new ThreadDemo();
      System.out.println("Default thread priority of Thread 1: " + thread1.getPriority());
      System.out.println("Default thread priority of Thread 2: " + thread2.getPriority());
      System.out.println("Default thread priority of Thread 3: " + thread3.getPriority());
      System.out.println("Default thread priority of Thread 4: " + thread4.getPriority());
      System.out.println("Default thread priority of Thread 5: " + thread5.getPriority());
      thread1.setPriority(8);
      thread2.setPriority(1);
      thread3.setPriority(6);
      thread4.setPriority(9);
      thread5.setPriority(3);
      System.out.println("Modified thread priority of Thread 1: " + thread1.getPriority());
      System.out.println("Modified thread priority of Thread 2: " + thread2.getPriority());
      System.out.println("Modified thread priority of Thread 3: " + thread3.getPriority());
      System.out.println("Modified thread priority of Thread 4: " + thread4.getPriority());
      System.out.println("Modified thread priority of Thread 5: " + thread5.getPriority());
      System.out.print(Thread.currentThread().getName());
      System.out.println("\nDefault thread priority of Main Thread: " + Thread.currentThread().getPriority());
      Thread.currentThread().setPriority(10);
      System.out.println("Modified thread priority of Main Thread: " + Thread.currentThread().getPriority());
   }
}

输出结果

Default thread priority of Thread 1: 5
Default thread priority of Thread 2: 5
Default thread priority of Thread 3: 5
Default thread priority of Thread 4: 5
Default thread priority of Thread 5: 5
Modified thread priority of Thread 1: 8
Modified thread priority of Thread 2: 1
Modified thread priority of Thread 3: 6
Modified thread priority of Thread 4: 9
Modified thread priority of Thread 5: 3
main
Default thread priority of Main Thread: 5
Modified thread priority of Main Thread: 10