Kiểm tra độ ưu tiên của Thread trong Java



Miêu tả vấn đề

Cách kiểm tra độ ưu tiên thread trong Java?

Giải pháp

Ví dụ sau minh họa cách kiểm tra độ ưu tiên thread bởi sử dụng phương thức getPriority() của lớp Thread trong Java.

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());
   }
}

Kết quả

Code trên sẽ cho kết quả sau:

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

thread_trong_java.jsp