1.简介一下多级轮转调度git
多级轮转调度是一种提升调度效率的解决方案,简单讲就是讲要执行的程分红几个优先级的列队即例如三个,第一个列队分10个时间片,第二个列队分配1000个时间片,第三个列队表示1000个时间片,每个进程在调度池中首先要进入如第一个列队,并执行10个10间片,完事以后,会放入第二个列队,当第一个列队没有进程以后,在执行第二个列队中的进程,不出意外的话,就以此类推.那么会出现什么意外呢.主要有两个,第一抢占,第二程序执行完毕.github
2.由小到大的构建进程的模拟算法
2.1进程:进程
对于进程类,也就是进程控制块,最主要的有两件事第一,在一个时间片里面要作哪些事,第二控制进程处理的进度,;源码
2.2进程列队:it
1,要控制肯定当前处理的列队位置,效率
2,控制进程完成后的列队转移可视化
3,处理新进入的进程程序
4.控制获取下一个要执行的进程方法
2.3进程时间轴
用于存储进程开始的时间和进程要持续的时间
封装下一个要出来的
插入进程就至关于在时间轴上插入
2.4调度机
根据调度算法对进程进行调度,在此若是上面的类都完成了,这样调度算法就很简单了,几句话就简单了
3,可视化界面解决方案:
在每个时间片结束后,能够根据每个进程的状态画出一张图表之类的,事实更新就能够动态展现啦
4.干说不练假把式,不如直接给代码:
https://github.com/Ericgoodboy/learnJava,源码在此src中TestThread包中我隐藏了AmazingCanves中关于绘图的方法你们的家能够自行发挥