std::lock_guard<Mutex>:: lock_guard
From cppreference.net
<
cpp
|
thread
|
lock guard
C++
Concurrency support library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::lock_guard
| Member functions | ||||
|
lock_guard::lock_guard
|
||||
|
explicit
lock_guard
(
mutex_type
&
m
)
;
|
(1) | (seit C++11) |
|
lock_guard
(
mutex_type
&
m,
std::
adopt_lock_t
t
)
;
|
(2) | (seit C++11) |
|
lock_guard
(
const
lock_guard
&
)
=
delete
;
|
(3) | (seit C++11) |
Übernimmt den Besitz des gegebenen Mutex m .
1)
Ruft effektiv
m.
lock
(
)
auf.
2)
Übernimmt den Besitz des Mutex
m
ohne Versuch ihn zu sperren. Das Verhalten ist undefiniert, wenn der aktuelle Thread keine exklusive Sperre (d.h. eine durch
lock
,
try_lock
,
try_lock_for
, oder
try_lock_until
) erworbene Sperre) auf
m
hält.
3)
Copy-Konstruktor ist gelöscht.
Das Verhalten ist undefiniert, wenn
m
zerstört wird, bevor das
lock_guard
-Objekt zerstört wird.
Parameter
| m | - | Mutex, dessen Eigentümerschaft erworben werden soll |
| t | - | Tag-Parameter zur Auswahl der nicht-sperrenden Version des Konstruktors |
Ausnahmen
1)
Wirft alle Ausnahmen, die von
m.
lock
(
)
geworfen werden.
2)
Wirft nichts.