Всегда предпочитаете std :: scoped_lock над Std :: Lock с политикой блокировки?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Всегда предпочитаете std :: scoped_lock над Std :: Lock с политикой блокировки?

Сообщение Anonymous »

Из моего знания, std :: scoped_lock , кажется, является заменой raii std :: lock с помощью std :: acpict_lock или std :: defer_lock , как то, что показывает в следующих трех частях кода.

Код: Выделить всё

std::unique_lock lk1(_mtx1, std::defer_lock);
std::unique_lock lk2(_mtx2, std::defer_lock);
std::lock(lk1, lk2);
< /code>
Используйте блокировку с ascipt_lock: < /p>
std::lock(_mtx1, _mtx2);
std::lock_guard lk1(_mtx1, std::adopt_lock);
std::lock_guard lk2(_mtx2, std::adopt_lock);
< /code>
Использовать scoped_lock: < /p>
std::scoped_lock lk(_mtx1, _mtx2);
Значит ли это, что, за исключением проблемы совместимости C ++ 17 против C ++ 11, std :: scoped_lock всегда следует предпочтительнее по сравнению с схемой std :: lock ? Какую -либо тонкую разницу, разработчик, должен знать?

Подробнее здесь: https://stackoverflow.com/questions/797 ... ing-policy
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»