Difference between revisions of "cpp/thread/timed mutex"
From cppreference.com
m (Text replace - "{{concept" to "{{named req") |
Andreas Krug (Talk | contribs) m (fmt) |
||
(4 intermediate revisions by 2 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 | since=c++11 | 1= | + | {{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 {{ltt|cpp/thread/mutex}}, {{tt|timed_mutex}} offers exclusive, non-recursive ownership semantics. | + | 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 satisfies all requirements of {{named req|TimedMutex}} and {{named req|StandardLayoutType}}. | The {{tt|timed_mutex}} class satisfies all requirements of {{named req|TimedMutex}} and {{named req|StandardLayoutType}}. | ||
Line 13: | Line 13: | ||
===Member types=== | ===Member types=== | ||
{{dsc begin}} | {{dsc begin}} | ||
− | {{dsc hitem | Member type | Definition}} | + | {{dsc hitem|Member type|Definition}} |
− | {{dsc | | + | {{dsc inc|cpp/thread/dsc native_handle_type|timed_mutex}} |
{{dsc end}} | {{dsc end}} | ||
===Member functions=== | ===Member functions=== | ||
{{dsc begin}} | {{dsc begin}} | ||
− | {{dsc inc | cpp/thread/mutex/dsc constructor | timed_mutex}} | + | {{dsc inc|cpp/thread/mutex/dsc constructor|timed_mutex}} |
− | {{dsc inc | cpp/thread/mutex/dsc destructor | timed_mutex}} | + | {{dsc inc|cpp/thread/mutex/dsc destructor|timed_mutex}} |
− | {{dsc inc | cpp/thread/mutex/dsc operator{{=}}}} | + | {{dsc inc|cpp/thread/mutex/dsc operator{{=}}}} |
− | {{dsc h2 | Locking}} | + | {{dsc h2|Locking}} |
− | {{dsc inc | cpp/thread/mutex/dsc lock | timed_mutex}} | + | {{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|timed_mutex}} |
− | {{dsc inc | cpp/thread/mutex/dsc try_lock_for | 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 try_lock_until|timed_mutex}} |
− | {{dsc inc | cpp/thread/mutex/dsc unlock | timed_mutex}} | + | {{dsc inc|cpp/thread/mutex/dsc unlock|timed_mutex}} |
− | {{dsc h2 | Native handle}} | + | {{dsc h2|Native handle}} |
− | {{dsc inc | cpp/thread/mutex/dsc native_handle | timed_mutex}} | + | {{dsc inc|cpp/thread/mutex/dsc native_handle|timed_mutex}} |
{{dsc end}} | {{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) |