это за херня:
Data race возникает при условии:
• два или более потока обращаются к одной и той же общей переменной;
• как минимум один из потоков пытается менять значение этой переменной;
• потоки не используют блокировки для обращения к этой переменной.
При выполнении этих трёх условий порядок обращения к переменной становится неопределённым, что приводит к различным и непредвиденным результатам выполнения программы при каждом запуске.
Вопрос, - у кого-нибудь была такая херня на практике!?
Тут проще спросить, у кого не было. Это ж одна из ключевых причин багов многопоточного кода. Ну вон, например, есть люди, которые эксплуатируют баги промо-кодов и биллингов. Стандартный способ искать их — рейсы.
да, мы пинали тима принять патч, чтобы пофиксить это
Если не сталкивались, значит и не надо вам (про это думать).
А он мож сталкивался, да не в курсе. Необязательно ж упадет. Но, например, значение некоей переменной будет не тем, каким должно.
да постоянно в Го 🤣 проблема в том, что код будет редко выдавать неправильные результаты и это сложно заметить вот это классная штука чтобы не было нежданчиков пока вы спите
Обсуждают сегодня