Java线程:线程的调度-优先级

心已赠人 2024-02-17 21:14 209阅读 0赞

本文转载至:http://lavasoft.blog.51cto.com/62575/221801

Java线程:线程的调度-优先级

与线程休眠类似,线程的优先级仍然无法保障线程的执行次序。只不过,优先级高的线程获取CPU资源的概率较大,优先级低的并非没机会执行。

线程的优先级用1-10之间的整数表示,数值越大优先级越高,默认的优先级为5。

在一个线程中开启另外一个新线程,则新开线程称为该线程的子线程,子线程初始优先级与父线程相同。

  1. /**
  2. * Java线程:线程的调度-优先级
  3. *
  4. * @author leizhimin 2009-11-4 9:02:40
  5. */
  6. public class Test {
  7. public static void main(String[] args) {
  8. Thread t1 = new MyThread1();
  9. Thread t2 = new Thread(new MyRunnable());
  10. t1.setPriority(10);
  11. t2.setPriority(1);
  12. t2.start();
  13. t1.start();
  14. }
  15. }
  16. class MyThread1 extends Thread {
  17. public void run() {
  18. for (int i = 0; i < 10; i++) {
  19. System.out.println("线程1第" + i + "次执行!");
  20. try {
  21. Thread.sleep(100);
  22. } catch (InterruptedException e) {
  23. e.printStackTrace();
  24. }
  25. }
  26. }
  27. }
  28. class MyRunnable implements Runnable {
  29. public void run() {
  30. for (int i = 0; i < 10; i++) {
  31. System.out.println("线程2第" + i + "次执行!");
  32. try {
  33. Thread.sleep(100);
  34. } catch (InterruptedException e) {
  35. e.printStackTrace();
  36. }
  37. }
  38. }
  39. }

运行截图:

  1. 线程10次执行!
  2. 线程20次执行!
  3. 线程21次执行!
  4. 线程11次执行!
  5. 线程22次执行!
  6. 线程12次执行!
  7. 线程13次执行!
  8. 线程23次执行!
  9. 线程24次执行!
  10. 线程14次执行!
  11. 线程15次执行!
  12. 线程25次执行!
  13. 线程16次执行!
  14. 线程26次执行!
  15. 线程17次执行!
  16. 线程27次执行!
  17. 线程18次执行!
  18. 线程28次执行!
  19. 线程19次执行!
  20. 线程29次执行!

发表评论

表情:
评论列表 (有 0 条评论,209人围观)

还没有评论,来说两句吧...

相关阅读