взаимные исключения и блокировки

Существует также diff-lcs, который доступен как драгоценный камень. Это не было обновлено с 2004, но забастовка>, мы использовали его без любой проблемы.

Редактирование: А новая версия была выпущена в 2011. Похож это вернулось в активной разработке.

http://rubygems.org/gems/diff-lcs

6
задан Christian Severin 10 November 2015 в 14:33
поделиться

2 ответа

Они эквивалентны. Локальные переменные не выходят из области видимости до тех пор, пока не будет выполнена последняя строка их блока. Таким образом, в этом случае копия возвращаемого значения выполняется под защитой блокировки.

8
ответ дан 9 December 2019 в 22:36
поделиться

Если ScopedLock Poco работает как-то вроде lock_guard Boost и назначение PID не может вызвать исключение, ответ на первый вопрос - да. Цель этого ScopedLock - предотвратить взаимоблокировки. Вы не можете забыть разблокировать мьютекс даже в случае возникновения исключения. Вам нужна блокировка, даже если вы "только читаете некоторые данные"? Что ж, в этом случае (доступ только к одному int) - это своего рода серая зона (лучше не делайте этого), но в целом вы также блокируете мьютекс, если просто читаете данные.

3
ответ дан 9 December 2019 в 22:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: