位置:首頁 > Java技術 > java實例教學 > Java如何檢查線程的優先級?

Java如何檢查線程的優先級?

如何檢查一個線程的優先級?

解決方法

下麵的示例演示如何檢查使用Thread的getPriority()方法獲取線程的優先級彆。

public class Main extends Object {
   private static Runnable makeRunnable() {
      Runnable r = new Runnable() {
         public void run() {
            for (int i = 0; i < 5; i++) {
               Thread t = Thread.currentThread();
               System.out.println("in run() - priority="
               + t.getPriority()+ ", name=" + t.getName());
               try {
                  Thread.sleep(2000);
               }
               catch (InterruptedException x) {
               }
            }
         }
      };
      return r;
   }
   public static void main(String[] args) {
      System.out.println("in main() - Thread.currentThread().
      getPriority()=" + Thread.currentThread().getPriority());
      System.out.println("in main() - Thread.currentThread()
      .getName()="+ Thread.currentThread().getName());
      Thread threadA = new Thread(makeRunnable(), "threadA");
      threadA.start();
      try {
         Thread.sleep(3000);
      }
      catch (InterruptedException x) {
      }
      System.out.println("in main() - threadA.getPriority()="
      + threadA.getPriority());
   }
}

結果

上麵的代碼示例將產生以下結果。

in main() - Thread.currentThread().getPriority()=5
in main() - Thread.currentThread().getName()=main
in run() - priority=5, name=threadA
in run() - priority=5, name=threadA
in main() - threadA.getPriority()=5
in run() - priority=5, name=threadA
in run() - priority=5, name=threadA
in run() - priority=5, name=threadA