std shared lock

suggest change

A shared_lock can be used in conjunction with a unique lock to allow multiple readers and exclusive writers.

#include <unordered_map>
#include <mutex>
#include <shared_mutex>
#include <thread>
#include <string>
#include <iostream>
class PhoneBook {
        string getPhoneNo( const std::string & name )
            shared_lock<shared_timed_mutex> r(_protect);
            auto it =  _phonebook.find( name );
            if ( it == _phonebook.end() )
                return (*it).second;
            return "";
        void addPhoneNo ( const std::string & name, const std::string & phone )
            unique_lock<shared_timed_mutex> w(_protect);
            _phonebook[name] = phone;
        shared_timed_mutex _protect;
        unordered_map<string,string>  _phonebook;

Feedback about page:

Optional: your email if you want me to get back to you:

Table Of Contents