MiniBachelor
Öffentliche Methoden | Private Attribute | Aufstellung aller Elemente
Semaphore Klassenreferenz

#include <Semaphore.hpp>

Öffentliche Methoden

 Semaphore (int count=0)
 
void V ()
 
void P ()
 

Private Attribute

std::mutex _mtx
 
std::condition_variable _cv
 
std::atomic< int > _count
 

Beschreibung der Konstruktoren und Destruktoren

Semaphore::Semaphore ( int  count = 0)
inline
12  {
13  _count = count;
14  }
std::atomic< int > _count
Definition: Semaphore.hpp:10

Dokumentation der Elementfunktionen

void Semaphore::P ( )
inline
20  {
21  std::unique_lock<std::mutex> lck(_mtx);
22  while(_count == 0) _cv.wait(lck);
23  _count--;
24  }
std::condition_variable _cv
Definition: Semaphore.hpp:9
std::mutex _mtx
Definition: Semaphore.hpp:8
std::atomic< int > _count
Definition: Semaphore.hpp:10
void Semaphore::V ( )
inline
15  {
16  std::unique_lock<std::mutex> lck(_mtx);
17  _count++;
18  _cv.notify_one();
19  }
std::condition_variable _cv
Definition: Semaphore.hpp:9
std::mutex _mtx
Definition: Semaphore.hpp:8
std::atomic< int > _count
Definition: Semaphore.hpp:10

Dokumentation der Datenelemente

std::atomic<int> Semaphore::_count
private
std::condition_variable Semaphore::_cv
private
std::mutex Semaphore::_mtx
private

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: