Re[5]: Проект утилитной библиотечки
От: Evgeny.Panasyuk Россия  
Дата: 17.03.16 20:55
Оценка: +2
Здравствуйте, nigh, Вы писали:

N>Да нет, там все гораздо глубже. Основная мысль в том, что Disposable и try-finally для семантики локов не подходят и создают ложное ощущение безопасности.


Это проблема exception safety guarantees, она существует и без всяких локов или даже потоков. Она даже существует без using'ов, только ещё хуже.
А вот RAII, using'и, try-with-resourcues, with — как раз подходят к семантике локов. А вот ложное ощущение безопасности — это от незнания exception safety


N>
N>WithdrawMoney(AccountB, 100)    //throw an exception here, will never unlock unless proper recovery is done - likely a deadlock, but not further data corruption by other threads
N>


Если тебе нравится "likely a deadlock, but not further data corruption by other threads" — то лучше сразу на первом же исключении пристреливать программу и тормозить всю систему, без всяких "likely", чтоб наверняка — так robust'ней
Отредактировано 17.03.2016 20:59 Evgeny.Panasyuk . Предыдущая версия . Еще …
Отредактировано 17.03.2016 20:57 Evgeny.Panasyuk . Предыдущая версия .
Отредактировано 17.03.2016 20:57 Evgeny.Panasyuk . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.