Пространства имён
Варианты
Действия

std::unique_lock::unique_lock

Материал из cppreference.com
< cpp‎ | thread‎ | unique lock

 
 
Библиотека поддержки потоков
Потоки
Оригинал:
Threads
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
thread(C++11)
this_thread имен
Оригинал:
this_thread namespace
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
get_id(C++11)
yield(C++11)
sleep_for(C++11)
sleep_until(C++11)
Взаимное исключение
Оригинал:
Mutual exclusion
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
mutex(C++11)
timed_mutex(C++11)
Generic управления замком
Оригинал:
Generic lock management
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
lock_guard(C++11)
unique_lock(C++11)
defer_lock_t
try_to_lock_t
adopt_lock_t
(C++11)
(C++11)
(C++11)
lock(C++11)
try_lock(C++11)
defer_lock
try_to_lock
adopt_lock
(C++11)
(C++11)
(C++11)
Условия переменных
Оригинал:
Condition variables
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
condition_variable(C++11)
condition_variable_any(C++11)
notify_all_at_thread_exit(C++11)
cv_status(C++11)
Futures
Оригинал:
Futures
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
promise(C++11)
future(C++11)
shared_future(C++11)
packaged_task(C++11)
async(C++11)
launch(C++11)
future_status(C++11)
future_error(C++11)
future_category(C++11)
future_errc(C++11)
 
std::unique_lock
Функции-члены
unique_lock::unique_lock
unique_lock::~unique_lock
unique_lock::operator=
Блокировка
Оригинал:
Locking
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
unique_lock::lock
unique_lock::try_lock
unique_lock::try_lock_for
unique_lock::try_lock_until
unique_lock::unlock
Модификаторы
unique_lock::swap
unique_lock::release
Наблюдатели
unique_lock::mutex
unique_lock::owns_lock
unique_lock::operator bool
Функции, не являющиеся членами
std::swap
 
unique_lock();
(1) (начиная с C++11)
unique_lock( unique_lock&& other );
(2) (начиная с C++11)
explicit unique_lock( mutex_type& m );
(3) (начиная с C++11)
unique_lock( mutex_type& m, std::defer_lock_t t );
(4) (начиная с C++11)
unique_lock( mutex_type& m, std::try_to_lock_t t );
(5) (начиная с C++11)
unique_lock( mutex_type& m, std::adopt_lock_t t );
(6) (начиная с C++11)
template< class Rep, class Period >

unique_lock( mutex_type& m,

             const std::chrono::duration<Rep,Period>& timeout_duration );
(7) (начиная с C++11)
template< class Clock, class Period >

unique_lock( mutex_type& m,

             const std::chrono::time_point<Clock,Duration>& timeout_time );
(8) (начиная с C++11)
Создает unique_lock, необязательно блокировки поставляется мьютекс.
Оригинал:
Constructs a unique_lock, optionally locking the supplied mutex.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
1)
Создает unique_lock, не связанных мьютекс.
Оригинал:
Constructs a unique_lock with no associated mutex.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
2)
Переместить конструктор. Инициализирует unique_lock с содержанием other.
Оригинал:
Move constructor. Initializes the unique_lock with the contents of other.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
3-8)
Создает unique_lock с m как мьютекс связаны. Дополнительно:
Оригинал:
Constructs a unique_lock with m as the associated mutex. Additionally:
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
3)
Замки соответствующего мьютекса по телефону m.lock().
Оригинал:
Locks the associated mutex by calling m.lock().
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
4)
Не заблокировать соответствующий мьютекс.
Оригинал:
Does not lock the associated mutex.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
5)
Пытается блокировать соответствующий мьютекс без блокировки путем вызова m.try_lock().
Оригинал:
Tries to lock the associated mutex without blocking by calling m.try_lock().
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
6)
Предполагается, вызывающий поток уже владеет m.
Оригинал:
Assumes the calling thread already owns m.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
7)
Пытается блокировать соответствующий мьютекс. Блоки до указанного timeout_duration прошло или блокировка, что наступит раньше. Может блокировать дольше, чем timeout_duration.
Оригинал:
Tries to lock the associated mutex. Blocks until specified timeout_duration has elapsed or the lock is acquired, whichever comes first. May block for longer than timeout_duration.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
8)
Пытается блокировать соответствующий мьютекс. Блоки до указанного timeout_time была достигнута или блокировка, что наступит раньше. Может блокировать дольше, чем до timeout_time была достигнута.
Оригинал:
Tries to lock the associated mutex. Blocks until specified timeout_time has been reached or the lock is acquired, whichever comes first. May block for longer than until timeout_time has been reached.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Параметры

other -
другой unique_lock для инициализации состояния с
Оригинал:
another unique_lock to initialize the state with
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
m -
мьютекса, чтобы связать с замком и, возможно, приобрести в собственность
Оригинал:
mutex to associate with the lock and optionally acquire ownership of
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
t -
тег параметр используется для выбора конструкторов с различными стратегиями замок
Оригинал:
tag parameter used to select constructors with different locking strategies
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
timeout_duration -
Максимальная продолжительность заблокировать для
Оригинал:
maximum duration to block for
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
timeout_time -
максимальный момент времени, чтобы блокировать до
Оригинал:
maximum time point to block until
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Исключения

1, 2, 4)
noexcept-спецификация:  
noexcept
  (начиная с C++11)

[править] Пример