java 中用到的线程调度算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
java 中用到的线程调度算法
Java 中常用的线程调度算法有三种:时间片轮转调度算法、优先级调度算法和公平调度算法。
时间片轮转调度算法:每个线程被分配一个时间片,当时间片用完后,调度器按照一定的规则将该线程挂起,转而执行其他线程。时间片轮转调度算法主要用于多个线程的优先级相同的情况下,可以保证每个线程都有机会执行,避免了某个线程长时间占据 CPU。
优先级调度算法:每个线程被分配一个优先级,调度器按照线程的优先级选择执行,如果优先级相同,则采用时间片轮转算法。优先级调度算法主要用于在不同的线程之间确定执行顺序,可以确保优先级高的线程优先执行。
公平调度算法:公平调度算法不考虑线程的优先级,而是按照先来先服务的原则,按照线程提交的顺序来分配 CPU 时间。公平调度算法主要用于保证每个线程都有公平的机会获得 CPU 时间,尤其是在线程数目较少时,可以防止某些线程被长时间占据 CPU,而其他线程无法执行。