Re[2]: внутренняя реализация std::mutex?
От: lpd Черногория  
Дата: 17.05.18 10:02
Оценка:
Здравствуйте, barney, Вы писали:

B>Вот "INSIDE_THE_LOCK:SPINNER:•2W•"

B>здесь должно быть "INSIDE_THE_LOCK:2" или "INSIDE_THE_LOCK: ••2" но SPINNER должен был вывестись ПОСЛЕ

Лучше пиши в std::cerr, т.к. std::cout вообще буферизуется, хотя отладить так все равно нельзя.

Для отладки spinlock можно сделать глобальную переменную int counter, и инкрементировать ее заданное число раз из разных потоков.
Без синхронизации или с неправильным мьютексом значение counter в конце почти всегда будет меньше, чем должно.
У сложных вещей обычно есть и хорошие, и плохие аспекты.
Берегите Родину, мать вашу. (ДДТ)
Отредактировано 17.05.2018 10:03 lpd . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.