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