ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
ngl::nthread Class Reference

Actor工作线程类。 More...

#include <nthread.h>

Public Member Functions

 nthread (i32_threadid aid)
 构造函数,创建并启动工作线程。
 ~nthread ()=default
 析构函数。
i32_threadid id ()
 返回在actor_handle回调中使用的工作线程ID。
void push (ptractor aactor)
 将一个Actor分配给此工作线程并唤醒线程。

Detailed Description

Actor工作线程类。

封装了一个分离的工作线程,负责执行Actor的消息处理逻辑。 工作线程从共享池中获取,分配给特定Actor处理消息批次, 处理完成后归还到池中。

设计特点:

  • 线程在构造时分离,进程生命周期内运行
  • 使用信号量等待Actor分配
  • 线程安全的状态管理
  • 不支持拷贝或移动

使用场景:

  • actor_manage创建工作线程池
  • schedule_layer借用工作线程执行Actor调度

Constructor & Destructor Documentation

◆ nthread()

ngl::nthread::nthread ( i32_threadid aid)
explicit

构造函数,创建并启动工作线程。

构造工作线程并启动分离的执行线程

Parameters
aid工作线程ID
aid线程ID

◆ ~nthread()

ngl::nthread::~nthread ( )
default

析构函数。

注意:线程是分离的,析构函数不执行清理。 参见actor_manage.h文件级注释了解设计理由。

Member Function Documentation

◆ id()

i32_threadid ngl::nthread::id ( )

返回在actor_handle回调中使用的工作线程ID。

Returns
工作线程ID

◆ push()

void ngl::nthread::push ( ptractor aactor)

将一个Actor分配给此工作线程并唤醒线程。

将Actor分配给此工作线程执行

Parameters
aactor要分配的Actor指针

设置Actor指针、标记活跃状态并发出信号量唤醒工作循环。

Parameters
aactor待处理的Actor智能指针

The documentation for this class was generated from the following files: