Преглед садржаја:
Дефиниција - Шта значи Деккеров алгоритам?
Деккеров алгоритам је први познати алгоритам који решава проблем међусобне искључености у истодобном програмирању. Приписује се Тху. Ј. Деккер, холандски математичар који је створио алгоритам за други контекст. Деккеров алгоритам користи се у реду чекања и омогућава две различите нити да деле исти ресурс за једнократну употребу без сукоба користећи заједничку меморију за комуникацију.
Техопедија објашњава Деккеров алгоритам
Деккеров алгоритам ће омогућити само једном процесу да користи ресурс ако два процеса покушавају да га користе истовремено. Врхунац алгоритма је како он решава овај проблем. Успева да спречи конфликт наметањем међусобне искључености, што значи да само један процес може истовремено користити ресурс и чекати ако га користи други процес. Ово се постиже употребом две „заставе“ и „токена“. Заставе означавају да ли процес жели да уђе у критични одељак (ЦС) или не; вредност 1 значи ТРУЕ да процес жели ући у ЦС, док 0, или ФАЛСЕ, значи супротно. Токен, који такође може имати вредност 1 или 0, означава приоритет када оба процеса имају своје заставе на ТРУЕ.
Овај алгоритам може успешно наметнути међусобно искључивање, али ће стално тестирати да ли је критични одељак доступан и стога губи значајно процесорско време. То ствара проблем познат као лоцкстеп синхронизација, у којем се свака нит може извршити само у строгој синхронизацији. Такође се не може проширити јер подржава само два процеса за међусобно искључивање.