Алгоритм булочной (Bakery algorithm)
shared enum {false, true} choosing[n]; shared int number[n] ;
Изначально элементы этих массивов инициируются значениями false и 0 соответственно. Введем следующие обозначения:
(а,b) < (c,d), если а < с или если а == с и b < d
max(aO, al, ...., an) - это число к такое, что
k >= ai для всех i = 0, ...,п
Структура процесса Pi для алгоритма булочной приведена ниже:
while (some condition) { choosing[i] = true;
number[i] = max(number[0], . .., number[n-1]) + 1;
choosing[i] = false;
for(j = 0; j < n; j++){ while(choosing[j]);
while(number[j] != 0 && (number[j],j) <
(number[i],i)) ;
}
critical section number[i] = 0;
remainder section
}
Доказательство того, что этот алгоритм удовлетворяет условиям 1—5, выполните самостоятельно в качестве упражнения.
Еще по теме Алгоритм булочной (Bakery algorithm):
- Sшrvig Morten. Базовые алгоритмы Qt 4 (Qt 4's Generic Algorithms), 2000
- АЛГОРИТМ
- АЛГОРИТМ УДАЧИ
- Дж. Клейнберг, Е. Тардос. Алгоритмы: разработка и применение. Классика Computers Science, 2016
- Алгоритм исцеления:
- Алгоритм избавления от боли
- § 2. АЛГОРИТМ АНАЛИЗА ПСИХОЛОГО-ПЕДАГОГИЧЕСКИХ СИТУАЦИЙ
- Алгоритм обработки результатов.
- 2. Специфика и алгоритмы работы с источниками.
- СИСТЕМНАЯ ДИАГНОСТИКА АЛГОРИТМ ОБНАРУЖЕНИЯ И УСТРАНЕНИЯ ПРИЧИН ПОВРЕЖДЕНИЙ ВСЕХ СЕМИ ТЕЛ ЧЕЛОВЕКА.
- 2. ИСТОЧНИКИ ИНФОРМАЦИИ. СПЕЦИФИКА И АЛГОРИТМЫ РАБОТЫ С ИСТОЧНИКАМИ ИНФОРМАЦИИ. ДОСТУП К ИСТОЧНИКАМ ИНФОРМАЦИИ. ПРАВОВЫЕ И ЭТИЧЕСКИЕ НОРМЫ РАБОТЫ С ИСТОЧНИКАМИ ИНФОРМАЦИИ.
- ЗАДАЧА: РЕШЕНИЕ
- Переживание
- Переживание
- Э. ТАНЕНБАУМ, А. ВУДХАЛЛ. ОПЕРАЦИОННЫЕ СИСТЕМЫ Разработка и реализация 3-е издание, 2007
- Замечания по структуре материала
- Прием структуризации психологического портрета.