常见的线程之间的调度算法是什么样?JAVA怎么用的?
首先,线程调度是指系统为线程分配CPU使⽤权的过程
协同式调度
理解为单线程,线程完成后通知主线程,开启下一个线程
优点:简单好实现。
缺点:某线程中间卡住,则全部卡住。容易堵车。
抢占式调度
由系统分配执行时间,线程不控制自己。
例如Java的yield方法,只是让出执行时间,但是无法获取执行时间。线程重新进入就绪状态,等待CPU的宠幸。
Java使用的抢占式,按照优先级分配CPU调用。
优先级相同,则随机选择一个,Java优先级有1-10个级别
注意:优先级高不代表100%被执行,只是概率更大了。