Standard library header <semaphore> (C++20)
From cppreference.net
C++
Standard library headers
Dieser Header ist Teil der Thread-Unterstützungsbibliothek .
Klassen |
|
|
(C++20)
|
Semaphor, der einen nicht-negativen Ressourcenzähler modelliert
(Klassentemplate) |
|
(C++20)
|
Semaphor, der nur zwei Zustände hat
(Typdefinition) |
Übersicht
namespace std { template<ptrdiff_t LeastMaxValue = /* implementation-defined */> class counting_semaphore; using binary_semaphore = counting_semaphore<1>; }
`-Tags wurde nicht übersetzt - C++-spezifische Begriffe wie `namespace`, `template`, `class`, `counting_semaphore`, `binary_semaphore` etc. wurden nicht übersetzt - Die Struktur und Formatierung des Originalcodes bleibt vollständig erhalten
Klassentemplate std::counting_semaphore
namespace std { template<ptrdiff_t LeastMaxValue = /* implementierungsdefiniert */> 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; // nur zur Darstellung }; }