Namespaces
Variants

std::counting_semaphore<LeastMaxValue>:: try_acquire

From cppreference.net
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
bool try_acquire ( ) noexcept ;
(C++20 起)

尝试在内部计数器大于 0 时原子性地将其递减 1 ;无论结果如何都不会发生阻塞。

返回值

true 表示成功递减内部计数器,否则返回 false

注释

实现允许在计数器大于 0 时仍不进行递减操作——即允许出现伪失败并返回 false

参见

递增内部计数器并解除获取者的阻塞
(公开成员函数)
递减内部计数器或在能够递减前阻塞
(公开成员函数)
尝试递减内部计数器,最多阻塞一段持续时间
(公开成员函数)
尝试递减内部计数器,阻塞直到某个时间点
(公开成员函数)