在Java中,可以使用Thread
類的setPriority(int priority)
方法來設置線程的優先級。優先級是一個整數,其值在1到10之間,其中10是最高優先級,1是最低優先級。默認優先級是5。
以下是如何設置線程優先級的示例:
public class ThreadPriorityExample {
public static void main(String[] args) {
// 創建兩個線程
Thread thread1 = new Thread(() -> {
for (int i = 0; i < 5; i++) {
System.out.println("Thread 1: " + i);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
Thread thread2 = new Thread(() -> {
for (int i = 0; i < 5; i++) {
System.out.println("Thread 2: " + i);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
// 設置線程優先級
thread1.setPriority(Thread.MIN_PRIORITY); // 設置為最低優先級
thread2.setPriority(Thread.MAX_PRIORITY); // 設置為最高優先級
// 啟動線程
thread1.start();
thread2.start();
}
}
在這個示例中,我們創建了兩個線程thread1
和thread2
。我們將thread1
的優先級設置為最低(1),將thread2
的優先級設置為最高(10)。然后我們啟動這兩個線程。
需要注意的是,線程優先級并不能保證線程執行的順序或速度。線程調度器可能會忽略優先級設置,特別是在高負載的系統上。因此,優先級應該被視為一種提示,而不是一種硬性要求。