Archivo de encabezado de la biblioteca estándar <semaphore>
De cppreference.com
Este archivo de encabezado es parte de la biblioteca de soporte de hilos.
Clases | |
(C++20) |
Semáforo que modela un conteo de recurso no negativo. (plantilla de clase) |
(C++20) |
Semáforo que tiene solamente dos estados. (typedef) |
Sinopsis
namespace std {
template<ptrdiff_t LeastMaxValue = /* definido por la implementación */>
class counting_semaphore;
using binary_semaphore = counting_semaphore<1>;
}
Plantilla de clase std::counting_semaphore
namespace std {
template<ptrdiff_t LeastMaxValue = /* definido por la implementación */>
class counting_semaphore {
public:
static constexpr ptrdiff_t max() noexcept;
constexpr explicit counting_semaphore(ptrdiff_t desired);
~counting_semaphore();
counting_semaphore(const counting_semaphore&) = delete;
counting_semaphore& operator=(const counting_semaphore&) = delete;
void release(ptrdiff_t update = 1);
void acquire();
bool try_acquire() noexcept;
template<class Rep, class Period>
bool try_acquire_for(const chrono::duration<Rep, Period>& rel_time);
template<class Clock, class Duration>
bool try_acquire_until(const chrono::time_point<Clock, Duration>& abs_time);
private:
ptrdiff_t counter; // solo exposición
};
}