CARVIEW |
Select Language
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Sat, 26 Jul 2025 00:08:00 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Location: /reference/mutex/mutex/
HTTP/1.1 200 OK
Server: nginx
Date: Sat, 26 Jul 2025 00:08:00 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
ETag: W/"74ac-9ouSUjFToqBtIJ++oDyJHwRsQ2M"
Content-Encoding: gzip
A mutex is a lockable object that is designed to signal when critical sections of code need exclusive access, preventing other threads with the same protection from executing concurrently and access the same memory locations.
mutex objects provide exclusive ownership and do not support recursivity (i.e., a thread shall not lock a mutex it already owns) -- see recursive_mutex for an alternative class that does.
It is guaranteed to be a standard-layout class.
Possible output (order of lines may vary, but characters are never mixed):
Reference
C library:
- <cassert> (assert.h)
- <cctype> (ctype.h)
- <cerrno> (errno.h)
-
<cfenv> (fenv.h)C++11
- <cfloat> (float.h)
-
<cinttypes> (inttypes.h)C++11
- <ciso646> (iso646.h)
- <climits> (limits.h)
- <clocale> (locale.h)
- <cmath> (math.h)
- <csetjmp> (setjmp.h)
- <csignal> (signal.h)
- <cstdarg> (stdarg.h)
-
<cstdbool> (stdbool.h)C++11
- <cstddef> (stddef.h)
-
<cstdint> (stdint.h)C++11
- <cstdio> (stdio.h)
- <cstdlib> (stdlib.h)
- <cstring> (string.h)
-
<ctgmath> (tgmath.h)C++11
- <ctime> (time.h)
-
<cuchar> (uchar.h)C++11
- <cwchar> (wchar.h)
- <cwctype> (wctype.h)
Containers:
-
<array>C++11
- <deque>
-
<forward_list>C++11
- <list>
- <map>
- <queue>
- <set>
- <stack>
-
<unordered_map>C++11
-
<unordered_set>C++11
- <vector>
-
Input/Output:
Multi-threading:
-
<atomic>C++11
-
<condition_variable>C++11
-
<future>C++11
-
<mutex>C++11
-
<thread>C++11
-
Other:
- <algorithm>
- <bitset>
-
<chrono>C++11
-
<codecvt>C++11
- <complex>
- <exception>
- <functional>
-
<initializer_list>C++11
- <iterator>
- <limits>
- <locale>
- <memory>
- <new>
- <numeric>
-
<random>C++11
-
<ratio>C++11
-
<regex>C++11
- <stdexcept>
- <string>
-
<system_error>C++11
-
<tuple>C++11
-
<type_traits>C++11
-
<typeindex>C++11
- <typeinfo>
- <utility>
- <valarray>
<mutex>
classes
-
adopt_lock_tC++11
-
defer_lock_tC++11
-
lock_guardC++11
-
mutexC++11
-
once_flagC++11
-
recursive_mutexC++11
-
recursive_timed_mutexC++11
-
timed_mutexC++11
-
try_to_lock_tC++11
-
unique_lockC++11
-
functions
constants
-
adopt_lockC++11
-
defer_lockC++11
-
try_to_lockC++11
-
mutex
-
mutex::~mutexC++11
-
mutex::mutexC++11
member functions
-
mutex::lockC++11
-
mutex::native_handleC++11
-
mutex::try_lockC++11
-
mutex::unlockC++11
-
class
<mutex>
std::mutex
class mutex;
Mutex class
mutex objects provide exclusive ownership and do not support recursivity (i.e., a thread shall not lock a mutex it already owns) -- see recursive_mutex for an alternative class that does.
It is guaranteed to be a standard-layout class.
Member types
member type | description |
---|---|
native_handle_type | Type returned by native_handle (only defined if library implementation supports it) |
Member functions
- (constructor)
- Construct mutex (public member function)
- lock
- Lock mutex (public member function)
- try_lock
- Lock mutex if not locked (public member function)
- unlock
- Unlock mutex (public member function)
- native_handle
- Get native handle (public member function)
Example
|
|
Possible output (order of lines may vary, but characters are never mixed):
************************************************** $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ |
Home page | Privacy policy
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us