Uczynienie klasy C ++ monitorem (w sensie równoległym)

Chcę mieć pewność, że tylko jeden wątek może uruchamiać metodę mojej klasy C ++. Innymi słowy, spraw, aby klasa zachowywała się jakMonitor.

Czy istnieje jakiś wzorzec, templatized sposób, aby to zrobić, lub jakąś klasę Boost, której mogę użyć? Ponieważ moim jedynym pomysłem jest dodanie członka sekcji krytycznej i zdobycie go na początku każdej metody i zwolnienie na końcu (oczywiście za pomocą RAII). Ale to wydaje się bardzo zbędne i nie mogę go użyć ponownie w jakiejś innej klasie.

questionAnswers(2)

yourAnswerToTheQuestion