A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 根号5 中级黑马   /  2012-4-27 19:12  /  2154 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

线程的优先级从1到10级,如果某个线程的优先级很低,优先级高的执行完了,刚要执行优先级的地的线程时又来了一个线程优先级高的,如果这样的时间持续的话,被客户端访问的那个线程是不是就迟迟得不到执行啊?java应该在这方面有处理办法吧   我不清楚 自己猜的        求解答

3 个回复

倒序浏览
不回出现这中情况 ,    因为操作系统为了避免这中情况  它的优先级不是静态的  ( 说你设置了多少就是多少 ),  而是动态可以改变的  如果你等待的时间越长就会逐渐提高它的优先级  防止你的线程永远没有机会执行    所以我们在程序里不应该依赖于线程的优先级来决定谁先执行谁后执行 而是依赖于我们在程序设定一些条件或代码来决定谁先执行谁后执行
回复 使用道具 举报
每一个线程的执行都是计算机自动分配的,每一个线程都有执行的可能,只不过是优先级高的获得执行权的概率高,并不代表低的没有机会执行。
回复 使用道具 举报
线程优先级的划分只是代表某一个优先级的线程被CPU执行到的几率的大小,而不是一定要优先级高的线程每次都比优先级低的线程先抢到CPU的执行权。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马