Difference between revisions of "cpp/thread/timed mutex"
From cppreference.com
m (r2.7.3) (Robot: Adding de, es, fr, it, ja, pt, ru, zh) |
Andreas Krug (Talk | contribs) m (fmt) |
||
(14 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
{{cpp/title|timed_mutex}} | {{cpp/title|timed_mutex}} | ||
{{cpp/thread/timed_mutex/navbar}} | {{cpp/thread/timed_mutex/navbar}} | ||
− | {{ddcl | header=mutex | | + | {{ddcl|header=mutex|since=c++11|1= |
class timed_mutex; | class timed_mutex; | ||
}} | }} | ||
Line 7: | Line 7: | ||
The {{tt|timed_mutex}} class is a synchronization primitive that can be used to protect shared data from being simultaneously accessed by multiple threads. | The {{tt|timed_mutex}} class is a synchronization primitive that can be used to protect shared data from being simultaneously accessed by multiple threads. | ||
− | In a manner similar to | + | In a manner similar to {{ltt|cpp/thread/mutex}}, {{tt|timed_mutex}} offers exclusive, non-recursive ownership semantics. In addition, {{tt|timed_mutex}} provides the ability to attempt to claim ownership of a {{tt|timed_mutex}} with a timeout via the member functions {{ltf|cpp/thread/timed_mutex/try_lock_for}} and {{ltf|cpp/thread/timed_mutex/try_lock_until}}. |
− | The {{tt|timed_mutex}} class | + | The {{tt|timed_mutex}} class satisfies all requirements of {{named req|TimedMutex}} and {{named req|StandardLayoutType}}. |
===Member types=== | ===Member types=== | ||
− | {{ | + | {{dsc begin}} |
− | {{ | + | {{dsc hitem|Member type|Definition}} |
− | {{ | + | {{dsc inc|cpp/thread/dsc native_handle_type|timed_mutex}} |
− | {{ | + | {{dsc end}} |
===Member functions=== | ===Member functions=== | ||
− | {{ | + | {{dsc begin}} |
− | {{ | + | {{dsc inc|cpp/thread/mutex/dsc constructor|timed_mutex}} |
+ | {{dsc inc|cpp/thread/mutex/dsc destructor|timed_mutex}} | ||
+ | {{dsc inc|cpp/thread/mutex/dsc operator{{=}}}} | ||
− | {{ | + | {{dsc h2|Locking}} |
− | {{ | + | {{dsc inc|cpp/thread/mutex/dsc lock|timed_mutex}} |
− | {{ | + | {{dsc inc|cpp/thread/mutex/dsc try_lock|timed_mutex}} |
− | {{ | + | {{dsc inc|cpp/thread/mutex/dsc try_lock_for|timed_mutex}} |
− | {{ | + | {{dsc inc|cpp/thread/mutex/dsc try_lock_until|timed_mutex}} |
− | {{ | + | {{dsc inc|cpp/thread/mutex/dsc unlock|timed_mutex}} |
− | {{ | + | {{dsc h2|Native handle}} |
− | {{ | + | {{dsc inc|cpp/thread/mutex/dsc native_handle|timed_mutex}} |
− | {{ | + | {{dsc end}} |
− | + | {{langlinks|de|es|fr|it|ja|pt|ru|zh}} | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |
Latest revision as of 07:48, 31 December 2023
Defined in header <mutex>
|
||
class timed_mutex; |
(since C++11) | |
The timed_mutex
class is a synchronization primitive that can be used to protect shared data from being simultaneously accessed by multiple threads.
In a manner similar to mutex, timed_mutex
offers exclusive, non-recursive ownership semantics. In addition, timed_mutex
provides the ability to attempt to claim ownership of a timed_mutex
with a timeout via the member functions try_lock_for() and try_lock_until().
The timed_mutex
class satisfies all requirements of TimedMutex and StandardLayoutType.
Contents |
[edit] Member types
Member type | Definition |
native_handle_type (optional*)
|
implementation-defined |
[edit] Member functions
constructs the mutex (public member function) | |
destroys the mutex (public member function) | |
operator= [deleted] |
not copy-assignable (public member function) |
Locking | |
locks the mutex, blocks if the mutex is not available (public member function) | |
tries to lock the mutex, returns if the mutex is not available (public member function) | |
tries to lock the mutex, returns if the mutex has been unavailable for the specified timeout duration (public member function) | |
tries to lock the mutex, returns if the mutex has been unavailable until specified time point has been reached (public member function) | |
unlocks the mutex (public member function) | |
Native handle | |
returns the underlying implementation-defined native handle object (public member function) |