|
ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
|
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分配给此工作线程并唤醒线程。 | |
Actor工作线程类。
封装了一个分离的工作线程,负责执行Actor的消息处理逻辑。 工作线程从共享池中获取,分配给特定Actor处理消息批次, 处理完成后归还到池中。
设计特点:
使用场景:
|
explicit |
构造函数,创建并启动工作线程。
构造工作线程并启动分离的执行线程
| aid | 工作线程ID |
| aid | 线程ID |
|
default |
析构函数。
注意:线程是分离的,析构函数不执行清理。 参见actor_manage.h文件级注释了解设计理由。
| i32_threadid ngl::nthread::id | ( | ) |
返回在actor_handle回调中使用的工作线程ID。
| void ngl::nthread::push | ( | ptractor | aactor | ) |
将一个Actor分配给此工作线程并唤醒线程。
将Actor分配给此工作线程执行
| aactor | 要分配的Actor指针 |
设置Actor指针、标记活跃状态并发出信号量唤醒工作循环。
| aactor | 待处理的Actor智能指针 |