Java 实例 - 线程优先级设置


以下实例演示了如何通过setPriority() 方法来设置线程的优先级:

  1. /*
  2. author by shouce.ren
  3. SimplePriorities.java
  4. */
  5.  
  6. public class SimplePriorities extends Thread {
  7. private int countDown = 5;
  8. private volatile double d = 0;
  9. public SimplePriorities(int priority) {
  10. setPriority(priority);
  11. start();
  12. }
  13. public String toString() {
  14. return super.toString() + ": " + countDown;
  15. }
  16. public void run() {
  17. while(true) {
  18. for(int i = 1; i < 100000; i++)
  19. d = d + (Math.PI + Math.E) / (double)i;
  20. System.out.println(this);
  21. if(--countDown == 0) return;
  22. }
  23. }
  24. public static void main(String[] args) {
  25. new SimplePriorities(Thread.MAX_PRIORITY);
  26. for(int i = 0; i < 5; i++)
  27. new SimplePriorities(Thread.MIN_PRIORITY);
  28. }
  29. }

以上代码运行输出结果为:

  1. Thread[Thread-1,1,main]: 5
  2. Thread[Thread-2,1,main]: 5
  3. Thread[Thread-3,1,main]: 5
  4. Thread[Thread-0,10,main]: 5
  5. Thread[Thread-3,1,main]: 4
  6. Thread[Thread-0,10,main]: 4
  7. Thread[Thread-1,1,main]: 4
  8. Thread[Thread-5,1,main]: 5
  9. Thread[Thread-4,1,main]: 5
  10. Thread[Thread-2,1,main]: 4
  11. Thread[Thread-0,10,main]: 3
  12. Thread[Thread-1,1,main]: 3
  13. Thread[Thread-4,1,main]: 4
  14. Thread[Thread-2,1,main]: 3
  15. ……