多线程_线程调度及获取和设置线程优先级

水深无声 2022-09-27 14:25 275阅读 0赞
  1. package cn.itcast_04;
  2. /*
  3. * 我们的线程没有设置优先级,肯定有默认优先级。
  4. * 那么,默认优先级是多少呢?
  5. * 如何获取线程对象的优先级?
  6. * public final int getPriority():返回线程对象的优先级。
  7. * 如何设置线程对象的优先级呢?
  8. * public final void setPriority(int newPriority):更改线程的优先级。
  9. *
  10. * 注意:
  11. * 线程默认优先级是5。
  12. * 线程优先级的范围是:1-10。
  13. * 线程优先级高仅仅表示线程获取CPU时间片机率高,但是要在次数比较多,或者多次运行的时候才能看到比较好的效果。
  14. *
  15. * IllegalArgumentException:非法参数异常。
  16. * 抛出的异常表明向方法传递了一个不合法或不正确的参数。
  17. */
  18. public class ThreadPriorityDemo {
  19. public static void main(String[] args) {
  20. ThreadPriority tp1 = new ThreadPriority();
  21. ThreadPriority tp2 = new ThreadPriority();
  22. ThreadPriority tp3 = new ThreadPriority();
  23. tp1.setName("东方不败");
  24. tp2.setName("岳不群");
  25. tp3.setName("林之平");
  26. // 获取默认优先级
  27. // System.out.println(tp1.getPriority());
  28. // System.out.println(tp2.getPriority());
  29. // System.out.println(tp3.getPriority());
  30. // 设置线程优先级
  31. // tp1.setPriority(1000);
  32. // 设置正确的优先级
  33. tp1.setPriority(10);
  34. tp2.setPriority(1);
  35. tp1.start();
  36. tp2.start();
  37. tp3.start();
  38. }
  39. }
  40. package cn.itcast_04;
  41. public class ThreadPriority extends Thread {
  42. @Override
  43. public void run() {
  44. for (int x = 0; x < 50; x++) {
  45. System.out.println(getName() + ":" + x);
  46. }
  47. }
  48. }

发表评论

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

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

相关阅读

    相关 线(5)线调度

    线程调度是操作系统管理处理器时间分配给各个线程的过程,以确保多任务环境中任务的协调执行。这一过程对于实现多任务、并发和并行计算至关重要,影响着系统的响应性、吞吐量和资源利...