Изменения

Перейти к: навигация, поиск

Алгоритм Чанди-Лампорта

1192 байта добавлено, 17:08, 26 июня 2010
Нет описания правки
Процесс меняет цвет как только записал свое локальное состояние. После этого он отсылает всем процессам специальное сообщение - маркер. Только после этого он может снова обрабатывать сообщения. Если процесс получил маркер и еще белый, то он обязан записать локальное состояние, стать красным и оправить маркеры. Иначе можно ничего не делать. Это гарантирует, что ни один белый процесс не получит сообщение от красного процесса.
 
==Модификации==
* не FIFO канал связи
Вместо отправки маркера будем отправлять с каждым сообщением цвет текущего процесса. Как только белый процесс получил сообщение от красного, он инициирует изменение цвета.
* ненадежный канал связи
Если сообщения могут теряться, то есть смысл запоминать сообщения на стороне отправителя. Пусть процесс записывает все исходящие сообщения пока не станет красным. Как только он стал красным, он отправляет маркер во все входящие каналы (в обратном направлении), подтверждающий получение предыдущих сообщений. Процесс может проверить состояние канала удалением всех сообщений, связанных с маркером для данного канала.
94
правки

Навигация