Обычно говорят, что многопоточные программы недетерминированы, а это означает, что в случае сбоя будет почти невозможно воссоздать ошибку, вызвавшую условие.Никто даже не знает, какой поток будет запущен следующим, и когда он снова будет вытеснен.
Конечно, это связано с алгоритмом планирования потоков ОС и тем фактом, что никто не знаеткакой поток будет запущен следующим, и как долго он будет работать эффективно.Порядок выполнения программы также играет свою роль, и т.д ...
Но что, если бы у вас был алгоритм, используемый для планирования потоков, и что, если бы вы могли знать, когда какой поток выполняется, многопоточная программа могла бы стать"детерминированный", например, вы сможете воспроизвести сбой?