ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
actor_manage.cpp File Reference

分层actor调度系统实现 More...

Detailed Description

分层actor调度系统实现

实现两层调度架构:

  • schedule_layer: 独立调度单元,包含专属调度线程和actor查找表
  • actor_manage: 单例路由层,管理多个schedule_layer和共享工作线程池

生命周期策略:两个类在整个进程期间存活。线程在构造时分离且永不join。 析构函数是平凡的,避免了停止令牌管道、排空排序和关闭竞争等复杂性。 操作系统在进程退出时回收一切资源。

调度流程:

  1. 消息通过push_task_id路由到对应schedule_layer
  2. schedule_layer将消息推入actor队列,空闲actor移入就绪队列
  3. 调度线程从共享池借用工作线程,分发actor进行处理
  4. 处理完成后工作线程归还池中,actor返回空闲或重新排队
    Author
    NingLeixueR
    Date
    2020-2025
    Version
    1.0