java模拟进程调度之模拟抢占试多级轮转调度(附带可视化解决方案)

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中关于绘图的方法你们的家能够自行发挥

相关文章
相关标签/搜索