关于java线程优先级的问题

1.优先级的映射。
jvm为线程提供了大概9个优先级,但是不同的操作系统提供的优先级等级也不同,windows没到9个,linux比较多,solaris比linux还要多,而且线程或进程的调度是交由操作系统cpu调度策略调度的,如果你是windows操作系统,假如它只提供了两种优先级,那么你设置的jvm优先级1~4可能映射到操作系统的1优先级,而5~9映射到操作系统的2优先级,所以1~4的效果是一样的,5~9的效果是一样的。
这个问题在深入理解jvm中,多线程优化那部分有介绍!

2.优先级的设置

  1. 线程优先级并不能保证线程的执行顺序,优先级高的并不一定先执行,优先级低的也不一定不执行
  2. 不要试图使用优先级来控制线程的执行顺序
    线程优先级的设置,并不能指定线程的运行顺序,这个是由操作系统调度的。
    线程优先级不能作为程序正确性的依赖,因为操作系统可以完全不用理会JAVA线程对于优先级的设定。——->《JAVA并发编程基础》
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值