Какие бесплатные инструменты или стратегии могут помочь отладить мульти-резьбу повреждения ошибки?
-
02-10-2019 - |
Вопрос
У меня есть приложение клиентского сервера с многопоточностью. Сторона сервера не удается с помощью STD :: Список коррумпированного в результате SEGV. Я подозреваю, что происходит какой-то проблема с синхронизацией поперечной резьбы, когда два потока обновляют STD :: Список одновременно и заставляют его повредить.
Пожалуйста, предложите бесплатные инструменты для отслеживания этого или стратегии, которые могут быть полезны.
Решение
Если вы знаете, что структура общих данных, которая повреждена из-за одновременного доступа, то поместите Mutex на структуру данных, чтобы только один нить мог получить доступ к времени AA, то попробуйте снова.
Вам необходимо убедиться, что общие данные не могут быть обновлены одновременными потоками. Это нормально для нескольких потоков для чтения, вам нужно быть осторожным с чтением нескольких потоков и одного или нескольких написания.
Можете ли вы указать, какую ОС вы используете и какой компилятор?