zoukankan      html  css  js  c++  java
  • java模拟进程调度之模拟抢占试多级轮转调度(附带可视化解决方案)

    1.简介一下多级轮转调度

      多级轮转调度是一种提高调度效率的解决方案,简单讲就是讲要执行的程分成几个优先级的列队即例如三个,第一个列队分10个时间片,第二个列队分配1000个时间片,第三个列队表示1000个时间片,每一个进程在调度池中首先要进入如第一个列队,并执行10个10间片,完事之后,会放入第二个列队,当第一个列队没有进程之后,在执行第二个列队中的进程,不出意外的话,就以此类推.那么会出现什么意外呢.主要有两个,第一抢占,第二程序执行完毕.

    2.由小到大的构建进程的模拟

      2.1进程:

        对于进程类,也就是进程控制块,最主要的有两件事第一,在一个时间片里面要做哪些事,第二控制进程处理的进度,;

      2.2进程列队:

        1,要控制确定当前处理的列队位置,

        2,控制进程完成后的列队转移

        3,处理新进入的进程

        4.控制获取下一个要执行的进程

      2.3进程时间轴

        用于存储进程开始的时间和进程要持续的时间

        封装下一个要出来的

        插入进程就相当于在时间轴上插入

      2.4调度机

        根据调度算法对进程进行调度,在此如果上面的类都完成了,这样调度算法就很简单了,几句话就简单了

    3,可视化界面解决方案:

      在每一个时间片结束后,可以根据每一个进程的状态画出一张图表之类的,事实更新就可以动态展示啦

    4.干说不练假把式,不如直接给代码:

      https://github.com/Ericgoodboy/learnJava,源码在此src中TestThread包中我隐藏了AmazingCanves中关于绘图的方法大家的家可以自行发挥

        

      

  • 相关阅读:
    mybatis框架demo first
    pro02总结:spring mvc + jdbc
    java开发常用jar包介绍(转载)
    proj01总结:spring jdbc操作
    mysql导入sql文件
    hibernate对象三种状态
    Hibernate 的saveOrUpdate方法(转)
    java web面试题,收集
    redis与spring整合·
    mybatis_2
  • 原文地址:https://www.cnblogs.com/mayeye/p/10919865.html
Copyright © 2011-2022 走看看