解决Java多线程问题(2)

http://www.itjxue.com  2015-07-17 01:12  来源:未知  点击次数: 

  程序的一种执行结果为:

  高优先级:0

  高优先级:1

  高优先级:2

  普通优先级:0

  高优先级:3

  普通优先级:1

  高优先级:4

  普通优先级:2

  高优先级:5

  高优先级:6

  高优先级:7

  高优先级:8

  高优先级:9

  普通优先级:3

  普通优先级:4

  普通优先级:5

  普通优先级:6

  普通优先级:7

  普通优先级:8

  普通优先级:9

  低优先级:0

  低优先级:1

  低优先级:2

  低优先级:3

  低优先级:4

  低优先级:5

  低优先级:6

  低优先级:7

  低优先级:8

  低优先级:9

  在该示例程序,PrintNumberThread线程实现的功能是输出数字,每次数字输出之间没有设置时间延迟,在测试类TestPriority中创建三个PrintNumberThread类型的线程对象,然后分别设置线程优先级是最高、普通和最低,接着启动线程执行程序。从执行结果可以看出高优先级的线程获得了更多的执行时间,首先执行完成,而低优先级的线程由于优先级较低,所以最后一个执行结束。

  其实,对于线程优先级的管理主要由系统的线程调度实现,较高优先级的线程优先执行,所以可以通过设置线程的优先级影响线程的执行。

(责任编辑:IT教学网)

更多

推荐java认证文章