Разница между расой и мертвым замком - PullRequest
4 голосов
/ 29 ноября 2010

В параллельном программировании, каковы различия и общие точки (если таковые имеются) между race и dead lock ? Подробный ответ будет оценен;).

1 Ответ

9 голосов
/ 29 ноября 2010

Взгляните на Описание условий гонки и тупиков

Условия гонки

Состояние гонки возникает, когда два потоки обращаются к общей переменной в в то же время. Первый поток читает переменная и вторая нить читает то же значение из переменная. Тогда первая нить и второй поток выполняет свои операции на стоимость, и они мчатся, чтобы увидеть какой поток может записать значение последним к общей переменной. Значение поток, который записывает свое значение последним сохраняется, потому что поток переписывая значение, которое предыдущая тема написала.

Тупики

тупик возникает, когда два потока каждый блокирует свою переменную на в то же время, а затем попытаться заблокировать переменная, что другой поток уже заперта. В результате каждый поток останавливается выполняет и ждет другого поток, чтобы освободить переменную. Потому что каждая нить держит переменная, которую хочет другой поток, ничего не происходит, а темы остаются зашли в тупик.

...