Детерминированный параллелизм - это модель параллельного программирования, в которой программы, написанные в этой модели, имеют следующее свойство: для заданного набора входных данных выходные значения программы одинаковы для любого расписания выполнения.Это означает, что выходные данные программы зависят исключительно от входных данных программы.
Существуют способы обеспечить это свойство.Одним из способов является так называемое программирование с одним присваиванием, при котором переменные не нужно инициализировать, а можно назначать не более одного раза.Чтение неинициализированной переменной останавливается до тех пор, пока ей не будет присвоено значение (возможно, каким-то другим потоком).Язык программирования Mozart поддерживает их.
Другой способ - использовать анализ владения, чтобы определить, какие потоки «владеют» различными ссылками, и убедиться, что ни один поток не записывает ссылку в одно и то же «время»,так что нет данных гонок.