Java 線程優(yōu)先級

2018-02-28 15:23 更新

Java線程教程 - Java線程優(yōu)先級


所有線程都有優(yōu)先級。

優(yōu)先級由1到10之間的整數(shù)表示。

優(yōu)先級為1的線程優(yōu)先級最低。優(yōu)先級為10的線程具有最高優(yōu)先級。

在Thread類中定義了三個常量來表示下表中列出的三個不同的線程優(yōu)先級。

線程優(yōu)先級常量整數(shù)值
MIN_PRIORITY1
NORM_PRIORITY5
MAX_PRIORITY10

具有較高優(yōu)先級的線程應(yīng)該有更多的CPU時間。

線程的優(yōu)先級只是調(diào)度器的一個提示。

Thread類的setPriority()方法為線程設(shè)置了新的優(yōu)先級。

getPriority()方法返回線程的當(dāng)前優(yōu)先級。

創(chuàng)建線程時,其優(yōu)先級設(shè)置為創(chuàng)建線程的優(yōu)先級。

例子

以下代碼演示如何設(shè)置和獲取線程的優(yōu)先級。

public class Main {
  public static void main(String[] args) {
    Thread t = Thread.currentThread();
    System.out.println("main Thread  Priority:" + t.getPriority());

    Thread t1 = new Thread();
    System.out.println("Thread(t1) Priority:" + t1.getPriority());

    t.setPriority(Thread.MAX_PRIORITY);
    System.out.println("main Thread  Priority:" + t.getPriority());

    Thread t2 = new Thread();
    System.out.println("Thread(t2) Priority:" + t2.getPriority());

    // Change thread t2 priority to minimum
    t2.setPriority(Thread.MIN_PRIORITY);
    System.out.println("Thread(t2) Priority:" + t2.getPriority());
  }
}

上面的代碼生成以下結(jié)果。



以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號