在 Java 中更改线程优先级
java 8object oriented programmingprogramming
可以通过实现 Runnable 接口并重写 run() 方法来创建线程。然后可以创建 Thread 对象并调用 start() 方法。
线程优先级决定何时向线程提供处理器以及其他资源。可以使用 Thread 类的方法 setPriority() 进行更改。
以下程序演示了如何使用 Java 中的 setPriority() 方法更改线程优先级:
示例
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("线程 1 的默认线程优先级:" + thread1.getPriority()); System.out.println("线程 2 的默认线程优先级:" + thread2.getPriority()); System.out.println("线程 3 的默认线程优先级:" + thread3.getPriority()); System.out.println("线程 4 的默认线程优先级:" + thread4.getPriority()); System.out.println("线程 5 的默认线程优先级:" + thread5.getPriority()); System.out.println("
使用 setPriority() 方法更改默认线程优先级"); thread1.setPriority(7); thread2.setPriority(3); thread3.setPriority(9); thread4.setPriority(2); thread5.setPriority(8); System.out.println("
线程 1 的线程优先级已更改:" + thread1.getPriority()); System.out.println("线程 2 的线程优先级已更改:" + thread2.getPriority()); System.out.println("线程 3 的线程优先级已更改:" + thread3.getPriority()); System.out.println("线程 4 的线程优先级已更改:" + thread4.getPriority()); System.out.println("线程 5 的线程优先级已更改:" + thread5.getPriority()); System.out.println("
" + Thread.currentThread().getName()); System.out.println("
主线程的默认线程优先级:" + Thread.currentThread().getPriority()); Thread.currentThread().setPriority(10); System.out.println("更改后的主线程的线程优先级:" + Thread.currentThread().getPriority()); } }
输出
线程 1 的默认线程优先级:5 线程 2 的默认线程优先级:5 线程 3 的默认线程优先级:5 线程 4 的默认线程优先级:5 线程 5 的默认线程优先级:5 使用 setPriority() 方法更改默认线程优先级 更改后的线程 1 的线程优先级:7 更改后的线程 2 的线程优先级:3 更改后的线程 3 的线程优先级:9 更改后的线程 4 的线程优先级:2 更改后的线程 5 的线程优先级:8 main 主线程的默认线程优先级:5 更改后的主线程的线程优先级:10