shared_mutex


1. Reader-Writer Lock

class ReaderWriterLock {
    std::shared_mutex mutex;
    int readers; // Number of concurrent readers

public:
    void read() {
        mutex.lock_shared();
        ++readers;
        mutex.unlock_shared();
    }

    void write() {
        mutex.lock();
        while (readers > 0) {
            mutex.unlock();
            std::this_thread::yield();
            mutex.lock();
        }
        // Enter critical section
        ...
        // Exit critical section
        mutex.unlock();
    }
};

2. Read-Write Map

3. Concurrent Queue

4. Thread-Safe Counter

5. Guarded Data

6. Shared Counter

7. Concurrent List

8. Thread-Safe Queue

9. Guarded Data with Expected Value

10. Concurrent Histogram

11. Thread-Safe Stack

12. Concurrent Bloom Filter

13. Guarded Data with Timed Access

14. Concurrent Set

15. Thread-Safe Circular Buffer

16. Guarded Data with Condition Variable

17. Concurrent LRU Cache