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) | (начиная с C++11) |
|
lock_guard
(
mutex_type
&
m,
std::
adopt_lock_t
t
)
;
|
(2) | (начиная с C++11) |
|
lock_guard
(
const
lock_guard
&
)
=
delete
;
|
(3) | (начиная с C++11) |
Получает владение заданным мьютексом m .
1)
Эффективно вызывает
m.
lock
(
)
.
2)
Принимает владение мьютексом
m
без попытки его блокировки. Поведение не определено, если текущий поток не удерживает неразделяемую блокировку (т.е. блокировку, полученную с помощью
lock
,
try_lock
,
try_lock_for
, или
try_lock_until
) на
m
.
3)
Конструктор копирования удалён.
Поведение не определено, если
m
уничтожается до того, как будет уничтожен объект
lock_guard
.
Параметры
| m | - | мьютекс для получения владения |
| t | - | параметр тега, используемый для выбора неблокирующей версии конструктора |
Исключения
1)
Выбрасывает любые исключения, выбрасываемые
m.
lock
(
)
.
2)
Ничего не выбрасывает.