Каковы плюсы и минусы программирования без блокировок и программирования на основе блокировок?

Я использую C ++ 11 в течение нескольких месяцев, я наслаждаюсь большинством компонентов стандартной библиотеки C ++ 11, за исключением компонентов, связанных с атомарными операциями.

На мой взгляд, программирование без блокировок слишком сложно, чтобы понять его правильно, в то время как программирование на основе блокировок интуитивно понятно и легко для понимания и отслеживания. Итак, я должен рассмотреть значение программирования без блокировки.

Чтобы полностью понять программирование без блокировок и программирование на основе блокировок, мне интересно:

Каковы плюсы и минусы программирования без блокировок и программирования на основе блокировок?

-1

Решение

Очевидно, что программирование без блокировок может быть трудно сделать правильно. Однако, если кто-то другой уже сделал что-то, что работает без блокировки (например, очередь, список, вектор и т. Д.), То использование этого, безусловно, очень полезно.

Блокировки всегда делают вещи медленнее — потому что вы должны взять блокировку, ТОГДА выполнить операцию, которая вам необходима для какого-либо общего объекта, и ТОГДА снять блокировку — это неизбежно займет больше времени, чем выполнение той же вещи с использованием правильной операции «без блокировки» ,

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]