打字猴:1.700450043e+09
1700450043
1700450044 }
1700450045
1700450046 这里创建了20个线程,每个线程在运行时都耗尽了CPU资源,因为优先级不同,线程调度应该最先处理优先级最高的,然后处理优先级最低的,也就是先执行2个优先级为10的线程,然后执行2个优先为9的线程,2个优先级为8的线程……但是结果却并不是这样的。
1700450047
1700450048 Priority:10
1700450049
1700450050 Priority:9
1700450051
1700450052 Priority:10
1700450053
1700450054 Priority:9
1700450055
1700450056 Priority:7
1700450057
1700450058 Priority:7
1700450059
1700450060 Priority:8
1700450061
1700450062 Priority:8
1700450063
1700450064 Priority:5
1700450065
1700450066 Priority:5
1700450067
1700450068 Priority:6
1700450069
1700450070 Priority:6
1700450071
1700450072 Priority:4
1700450073
1700450074 Priority:4
1700450075
1700450076 Priority:3
1700450077
1700450078 Priority:3
1700450079
1700450080 Priority:1
1700450081
1700450082 Priority:1
1700450083
1700450084 Priority:2
1700450085
1700450086 Priority:2
1700450087
1700450088 println方法虽然有输出损耗,可能会影响到输出结果,但是不管运行多少次,你都会发现两个不争的事实:
1700450089
1700450090 (1)并不是严格遵照线程优先级别来执行的
1700450091
1700450092 比如线程优先级为9的线程可能比优先级为10的线程先执行,优先级为1的线程可能比优先级为2的线程先执行,但很少会出现优先级为2的线程比优先级为10的线程先执行(这里用了一个词“很少”,是说确实有可能出现,只是几率非常低,因为优先级只是表示线程获得CPU运行的机会,并不代表强制的排序号)。
[ 上一页 ]  [ :1.700450043e+09 ]  [ 下一页 ]