欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

MOOON-scheduler核心设计图(初稿)

发布时间:2025/7/14 编程问答 53 豆豆
生活随笔 收集整理的这篇文章主要介绍了 MOOON-scheduler核心设计图(初稿) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
按以下思路进行设计,非最终设计图,有等进一步思考,以发现问题,需要达到以下目的:
  • 同时支持线程和进程模式(做了抽象)
  • Service不和线程绑定
  • Service独占线程池或进程(进程下再划分线程池)
  • Session和线程绑定,不跨线程
  • Service下可以有0到多个Session
  • 一个Session可以0到多个 子 Session,不限制层级
  • 子Session和父Session由同一个线程调度
  • Service的ID从0开始的无符号32位整数
  • Session的ID从1 开始的无符号32位整数,0被Service占用,以简化程序设计(在后续会讲到原因)
  •  

     

    在进程模型,CKernelThread和CServiceThread个数是相等的,而且线程是一对一的。CServieProcess会fork出一个进程,这个进程会创建CServicePool,CServiceThread阻塞同步的接收CProcessMessageBridge发过来的消息,然后处理,直接到处理完后CKernelThread才会去处理下一个消息。但在这过程中,CService和CSession可以输出需要发送到其它Service或节点的消息,CProcessMessageBridge会做相应的处理。

    本文转自eyjian 51CTO博客,原文链接:http://blog.51cto.com/mooon/909898,如需转载请自行联系原作者

    总结

    以上是生活随笔为你收集整理的MOOON-scheduler核心设计图(初稿)的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。