Как вы можете практически проверить синхронизированную структуру данных (в C)?Тестирование параллельных структур данных
Срабатывание нескольких потоков и их конкуренция за доступ к структуре на некоторое время, чтобы увидеть, что-то пошло не так, не звучит очень безопасно.
EDIT в ответ на комментарии: я имею в виду, что существует несколько потоков, работающих на одном и том же наборе данных, с какой-то стратегией синхронизации (флаги/семафоры/блокировки CAS/и т. Д.), Чтобы, по-видимому, устранить расу условий и тупиков. Проблема заключается в программном тестировании правильной синхронизации рабочих.
Вы не можете синхронизировать данные, только код. –
http://stackoverflow.com/questions/1226779/how-to-run-concurrency-unit-test –
@HansPassant: Предположительно, структура данных имеет методы, которые призваны быть потокобезопасными. –