
setPriority不一定起作用的,在不同的操作系统不同的jvm上,效果也可能不同。现在很多jvm的线程的实现都使用的操作系统线程,设置优先级也是使用的操作系统优先级,java层面有10个优先级别,假设操作系统只有3个优先级别,那么jvm可能将1-4级映射到操作系统的1级,5-7级映射到操作系统的2级,剩下的映射到3级,这样的话,在java层面,将优先级设置为5,6,7,其实本质就是一样的了。另外,操作系统也不能保证设置了优先级的线程就一定会先运行或得到更多的CPU时间。还有,有些linux是不区分优先级的,它把所有优先级都视为5在实际使用中,不建议使用该方法
