mutex
class CriticalSection {
private:
std::mutex mtx; // Mutex to protect critical section
public:
void lock() { mtx.lock(); }
void unlock() { mtx.unlock(); }
};
int main() {
CriticalSection cs;
// Acquire lock
cs.lock();
// Access shared resource within critical section
// Release lock
cs.unlock();
}