У меня есть класс, который использует блокировку чтения-записи.
Я хочу проверить, правильно ли я заблокировал и защитил все методы.
Есть ли шаблон проектирования для проверки правильности установки блокировок?
Редактировать:
Некоторые пояснения:
Это код C #, полученный из кода C ++ / CLI, который имеет блокировки на уровне C ++. .. Не все так просто. Вот почему я ищу дизайн теста, а не дизайн того, как его заблокировать.
Есть несколько вещей, которые необходимо проверять при многопоточности:
Нет взаимоблокировок (наиболее очевидное)
Правильность (если я обновлю его в одном потоке, это будет видно в другом)
Атомарная запись (если я пишу в одном потоке, я смогу читать только тогда, когда будет записано полное значение)
Справедливость (может быть более теоретическим доказательством, должно быть правдой, если я все равно использую Mutex)