Syntax for Mutex in C++

The use of mutex can be divided into three steps:

1. Create a std::mutex Object

std::mutex mutex_object_name;

2. Lock the Thread

The lock() function of the std::mutex class locks the thread and allows only the current thread to run until it is unlocked. It prevents the shared resource from being accessed by multiple threads simultaneously.

mutex_object_name.lock()

3. Unlock the thread

The unlock() of the std::mutex function is used to release the lock after execution of the code piece containing the possibility of race condition occurrence. It resumes all the waiting threads.

mutex_object_name.unlock()

Working of Mutex in C++

Mutex in C++

Mutex stands for Mutual Exclusion. In C++, std::mutex class is a synchronization primitive that is used to protect the shared data from being accessed by multiple threads simultaneously. The shared data can be in the form of variables, data structures, etc.

std::mutex class implements mutex in C++. It is defined inside <mutex> header file.

Similar Reads

Need for Mutex in C++

In C++, when multiple threads modify the same shared resources simultaneously may cause race conditions. It may produce unpredictable output or unexpected behavior while executing the program. Mutex is used to avoid race conditions by locking the current thread so that all the other threads cannot access the shared resources at that time and unlocking it when the current thread is done....

Syntax for Mutex in C++

The use of mutex can be divided into three steps:...

Example of Mutex in C++

Let’s create a shared integer variable, which can be accessed globally inside the program. Create a function to increment the number by 1 for 1000000 times using a for loop. Create two threads named thread1 and thread2 to run the same increment() function....

Contact Us