Sese Framework
x.y.z
A cross-platform framework
|
命名信号量 更多...
#include <Semaphore.h>
Public 类型 | |
using | Ptr = std::unique_ptr<Semaphore> |
Public 成员函数 | |
~Semaphore () | |
bool | lock () |
阻塞并等待至获取到资源 | |
bool | unlock () |
释放当前资源 | |
bool | tryLock (std::chrono::milliseconds ms) |
静态 Public 成员函数 | |
static Semaphore::Ptr | create (std::string name, uint32_t initial_count=1) |
Private 成员函数 | |
Semaphore ()=default | |
Private 属性 | |
std::string | sem_name {} |
sem_t * | semaphore {} |
命名信号量
using sese::system::Semaphore::Ptr = std::unique_ptr<Semaphore> |
|
privatedefault |
|
static |
创建一个命名信号量
name | 名称 |
initial_count | 初始计数,默认为 1 行为与互斥量一致 |
nullptr | 创建失败 |
引用了 MAKE_UNIQUE_PRIVATE.
被这些函数引用 sese::system::IPCChannel::create() , 以及 sese::system::IPCChannel::use().
bool Semaphore::lock | ( | ) |
阻塞并等待至获取到资源
引用了 semaphore.
bool Semaphore::tryLock | ( | std::chrono::milliseconds | ms | ) |
bool Semaphore::unlock | ( | ) |
释放当前资源
引用了 semaphore.
|
private |
被这些函数引用 ~Semaphore().
|
private |
被这些函数引用 lock(), tryLock(), unlock() , 以及 ~Semaphore().