C ++ 11: почему std :: condition_variable использует std :: unique_lock?

Я немного запутался в ролиstd::unique_lock при работе сstd::condition_variable, Насколько я понялдокументация,std::unique_lock это в основном раздутая защита замка с возможностью смены состояния между двумя замками.

мы до сих пор использовалиpthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex) для этой цели (я думаю, чточто STL использует в posix). Требуется мьютекс, а не замок.

Какие'Разница здесь? Является ли тот факт, чтоstd::condition_variable имеет дело сstd::unique_lock оптимизация? Если да, то как именно это быстрее?

Ответы на вопрос(2)

Ваш ответ на вопрос