如何检查线程的优先级?(How to check priority level of a thread?)
优质
小牛编辑
121浏览
2023-12-01
问题描述 (Problem Description)
如何检查线程的优先级?
解决方案 (Solution)
下面的示例演示如何使用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());
}
}
结果 (Result)
上面的代码示例将产生以下结果。
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