Edson188的gravatar头像
Edson188 2014-10-23 17:07:39

java进程通讯和调度代码 (超值代码)

  1. 操作系统中的进程调度,进程调度模拟程序:假设有10个进程需要在CPU上执行,分别用:先进先出调度算法;基于优先数的调度算法;最短执行时间调度算法 确定这10个进程在CPU上的执行过程。要求每次进程调度时在屏幕上显示:当前执行进程;就绪队列;等待队列
  2. java进程通讯和调度代码 (超值代码)
  3. 运行截图:
  •  
  • java进程通讯和调度代码 (超值代码)
  • java进程通讯和调度代码 (超值代码)
  • java进程通讯和调度代码 (超值代码)
  1. 建立进程类Process,包括进程名、进程状态(随机)、优先级(1~5)(随机)、需要在处理机上执行的时间(ms)(随机),用以产生进程对象,并返回对象中进程名、状态优先级、执行时间的值
  2. 建立主类Call,包含主函数,并可调用各种功能函数。
  3. 主函数输出用户选择界面,创建就绪链表和阻塞链表,初始计划10个进程,并把进程按照状态,放入链表,经用户选择后,调用先进先出调度算法,基于优先数的调度算法,最短执行时间调度算法
  4. 先进先出算法的实现
  5. 随即产生时间片t
  6. 判断就绪链表中第一个进程是否可以执行完毕,若其时间大于系统时间片,则不能执行完毕,其执行时间=原执行时间-系统时间片,调用队列函数Quence,随机分配状态值,并根据状态值,放入阻塞或就绪队列;若其时间小于系统产生时间片,则可以执行完毕,顺序执行就绪队列中下一个进程
  7. 重复执行过程(2),直到就绪队列和阻塞队列为空,则全部进程执行完毕。
  8. 最短时间算法
  9. 随机分配系统时间片t
  10. 调用最短时间函数searchTime,查找就绪队列中执行时间最短的进程,运行此进程若其执行时间大于时间片,则不可执行完毕,新执行时间=原执行时间-系统时间片,调用队列函数Quence,随机分配状态值,并根据状态值,进入相应的队列;若其执行时间小于系统分配时间片,可以执行完毕此进程
  11. 重复执行过程(2),直到就绪队列和阻塞队列为空,则全部进程执行完毕。 
  12. 最大优先级算法
  13. 随机分配系统时间片t
  14. 调用最大优先级函数searchPrecedence,查找就绪队列中优先级最大的进城,运行此进程,若其执行时间大于时间片,则不可执行完毕,新执行时间=原执行时间-系统时间片,调用队列函数Quence,随机分配状态值,进入相应队列;若其执行时间小于系统分配时间片,可以执行完毕此过程
  15. 重复执行过程(2),直到就绪队列和阻塞对列为空,则全部进程执行完毕。

​作用:在做系统集成数据交互的时候具有相当大的意思,线程列队,调度,为每个任务分配一个或者多个进程来完成同一个指令,如果等到时间较长可以回收进程,分配给列队等待的任务.

这样就可以用作进程间的通信,一边CS模式下和硬件交互数据就怕不稳定,进程间通信是比较稳定的,当然web开发多线程+web服务是可以的,但是现在系统端设备这么多,web服务怕是很多

任务完成不了,还不稳定。如果说XX公司有SAP系统,但是要把某些生产数据实时的显示在LED上或者要实时的把某些数据交互给机器那么这里就要做进程间通信了,NIO出现后这些以前C,C++

做的事情,java也可以做了。这里只是说明了个算法,当然可以根据自己的需要加上java socket+多线程跨操作系统通信根据自己业务


打赏

文件名:Process.rar,文件大小:7.437K 下载
  • /
      • /Process
        • /Process/.classpath
        • /Process/.project
          • /Process/.settings
            • /Process/.settings/org.eclipse.jdt.core.prefs
          • /Process/bin
              • /Process/bin/com
                  • /Process/bin/com/mini
                      • /Process/bin/com/mini/process
                        • /Process/bin/com/mini/process/Process.class
                        • /Process/bin/com/mini/process/ProcessCall.class
最代码最近下载分享源代码列表最近下载
西西唐文颖啊  LV6 2022年6月9日
hcyhard  LV8 2020年11月16日
lironggang  LV38 2019年7月9日
chaoshou  LV6 2019年3月6日
rew茹6凤  LV6 2018年9月14日
puhuiling  LV9 2018年5月8日
15735184511  LV7 2018年1月4日
如来悟空  LV10 2017年12月1日
你高冷  LV12 2017年10月11日
jennyaiai  LV21 2017年3月27日
最代码最近浏览分享源代码列表最近浏览
钱小小  LV3 2023年7月16日
卡布琪洛  LV4 2023年5月28日
2978657249 2022年9月4日
暂无贡献等级
crosa_Don  LV18 2022年7月19日
annazhang  LV29 2022年7月17日
暂无贡献等级
糊涂神  LV3 2022年6月21日
Hsy605  LV9 2022年6月20日
西西唐文颖啊  LV6 2022年6月9日
kingoneyang  LV13 2022年4月7日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友