Тестирование параллельных структур данных - PullRequest
13 голосов
/ 25 января 2012

Как вы можете практически протестировать синхронизированную структуру данных (в C)?

Запустить пару потоков и заставить их некоторое время конкурировать за доступ к структуре, чтобы узнать, что-нибудьНеправильное звучание звучит не очень безопасно.

РЕДАКТИРОВАТЬ в ответ на комментарии: я имею в виду, что есть несколько потоков, выполняющих функции, которые работают с одним и тем же набором данных, с некоторой стратегией синхронизации (flags / semaphores /CAS / etc без блокировок) для устранения условий гонки и взаимоблокировок.Проблема заключается в программном тестировании на правильную синхронизацию рабочих.

1 Ответ

4 голосов
/ 25 января 2012

Никто действительно не знает, как сделать это со 100% надежностью. Здесь - это всего лишь один пример инструмента тестирования для поиска ошибок параллелизма.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...