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

计数信号量封装类。 More...

#include <tools_thread.h>

Public Member Functions

 sem ()
 默认构造函数。
void wait ()
 等待信号量。
void post ()
 释放信号量。

Detailed Description

计数信号量封装类。

封装了C++20的std::counting_semaphore,提供简化的信号量操作。 用于工作队列和回调线程的同步。

Note
禁止拷贝构造和赋值操作。

Constructor & Destructor Documentation

◆ sem()

ngl::tools::sem::sem ( )
inline

默认构造函数。

初始化信号量计数为0。

Member Function Documentation

◆ post()

void ngl::tools::sem::post ( )
inline

释放信号量。

增加信号量计数,可能唤醒一个等待的线程。 也称为V操作或release操作。

◆ wait()

void ngl::tools::sem::wait ( )
inline

等待信号量。

阻塞当前线程直到信号量计数大于0,然后减少计数。 也称为P操作或acquire操作。


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