Frage

ich habe eine Menge von Spin-Locks in meinem Multi-Thread-Code und die meisten der Zeit, die sie für andere Threads warten Arbeit zu tun und somit eine Menge CPU-Auslastung kauen. In Linux verwenden normalerweise i pthread_cond_wait pthread_cond_signal und einen Faden zu pausieren und aufwachen, wenn signalisiert wird. Gibt es so etwas wie dies in den Boost-Bibliotheken? i einen kurzen Blick zu haben könnte nicht irgend etwas finden.

Visual Studio 2005

War es hilfreich?

Andere Tipps

Sie suchen ein Mutex oder eine Semaphore. Die Boost-Bibliothek hat Mutex und Semaphore Unterstützung.

Ein Mutex ist ein Binary Semaphore, die einfach als eine Sperre gedacht wird, nur ein Thread erlaubt, um durch Ihre kritische Abschnitt .

Semaphore kann helfen, einige Situationen, in denen eine Sperre (Mutex) zu vereinfachen zu restriktiv ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top