Я смущен. Как я понимаю, фрагмент кода thread-safe, если он работает правильно во время одновременного выполнения несколькими потоками. И data race возникает, когда две инструкции из разных потоков обращаются к одному и тому же месту памяти, по крайней мере один из этих обращений является записью, и нет никакой синхронизации, которая предусматривает какой-либо конкретный порядок среди этих обращений.Являются ли условия безопасности потоков и данных для решения одной и той же проблемы?
Его ясно, что оба относятся к параллелизму. Но решают ли они одно и то же?