如何在 Java 中检查线程的优先级
问题描述
如何检查线程的优先级?
解决方案
以下示例演示如何使用线程的 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
java_threading.html