|
ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
|
线程原语:shared_mutex RAII宏、信号量封装和线程辅助工具。 More...
#include <condition_variable>#include <shared_mutex>#include <functional>#include <semaphore>#include <iostream>#include <thread>#include <mutex>#include <list>Classes | |
| class | ngl::tools::sem |
| 计数信号量封装类。 More... | |
| class | ngl::tools::sleep |
| 线程休眠辅助类。 More... | |
Namespaces | |
| namespace | ngl::tools |
| 工具函数命名空间。 | |
Macros | |
| #define | CONCAT_(a, b) |
| 宏连接辅助宏。 | |
| #define | CONCAT(a, b) |
| #define | lock_read(MUTEX) |
| 读锁RAII宏。 | |
| #define | lock_write(MUTEX) |
| 写锁RAII宏。 | |
| #define | nlock(MUTEX) |
| 调试锁宏。 | |
线程原语:shared_mutex RAII宏、信号量封装和线程辅助工具。
本文件提供了线程编程的基础工具,包括:
这些工具简化了多线程编程中的同步和休眠操作。
| #define CONCAT | ( | a, | |
| b ) |
| #define CONCAT_ | ( | a, | |
| b ) |
宏连接辅助宏。
用于将两个宏参数连接成一个标识符。
| #define lock_read | ( | MUTEX | ) |
读锁RAII宏。
使用std::shared_lock对std::shared_mutex进行读锁定。 自动在作用域结束时释放锁。
| MUTEX | 要锁定的shared_mutex |
| #define lock_write | ( | MUTEX | ) |
写锁RAII宏。
使用std::lock_guard对std::shared_mutex进行写锁定。 自动在作用域结束时释放锁。
| MUTEX | 要锁定的shared_mutex |
| #define nlock | ( | MUTEX | ) |
调试锁宏。
当DECHECK_LOCK_TAR宏启用时,会打印锁的获取和释放信息。 否则,等同于lock_write宏。
| MUTEX | 要锁定的shared_mutex |