[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
что тут достаточно 2-х флагов ( с несколькими состояниями ) и с механизмом разрешения коллизий. Блокирование ресурса должно проходить в 2 этапа - сначала процессор ставит статус о желании блокировать ресурс. Потом читает флаг втрого процессора. Если второй флаг чист - то можно ставить флаг блокировки ресурса. Если второй флаг в промежуточном состоянии - далее решение коллизии ( по приоритету, и т.д. - можно взять алгоритм из сетевых решений ), Если второй флаг в блокировке - ждать освобождения.
E-mail: info@telesys.ru