Это не приводит к аварийному завершению работы приложения.Это вызывает неопределенное поведение.Что означает, более или менее, может произойти все, что .
То, о чем вы говорите, это состояние гонки.Это плохо;ваша главная задача при написании многопоточного кода - не допустить этого.