Itthon Fejlesztés Mi a dekker algoritmusa? - meghatározás a techopedia alapján

Mi a dekker algoritmusa? - meghatározás a techopedia alapján

Tartalomjegyzék:

Anonim

Meghatározás - Mit jelent Dekker algoritmus?

A Dekker algoritmusa az első ismert algoritmus, amely megoldja a kölcsönös kizárási problémát az egyidejű programozás során. Th-nak jóváírják. J. Dekker, egy holland matematikus, aki létrehozta az algoritmust egy másik kontextushoz. A Dekker algoritmusát használják a sorba állításra, és lehetővé teszi két különböző szál számára, hogy konfliktusok nélkül megosszák ugyanazt az egyszeri felhasználású erőforrást a megosztott memória segítségével a kommunikációhoz.

A Techopedia magyarázza Dekker algoritmusát

A Dekker algoritmusa csak egyetlen folyamatnak teszi lehetővé az erőforrás használatát, ha két folyamat egyszerre próbálja használni. Az algoritmus kiemelése az, hogyan oldja meg ezt a problémát. A kölcsönös kizárás kikényszerítésével sikerül megakadályozni a konfliktust, azaz egyszerre csak egy folyamat használhatja az erőforrást, és várni fog, ha egy másik folyamat használja. Ez két „zászló” és „token” használatával érhető el. A zászlók jelzik, hogy egy folyamat belép-e a kritikus szakaszba (CS), vagy sem; az 1 érték azt jelenti, hogy IGAZ, hogy a folyamat be akar lépni a CS-be, míg a 0 vagy hamis az ellenkezőjét jelenti. A token, amelynek értéke 1 vagy 0 is lehet, prioritást jelez, ha mindkét folyamat jelzői igazra vannak állítva.


Ez az algoritmus sikeresen végrehajthatja a kölcsönös kizárást, de folyamatosan tesztelni fogja, hogy rendelkezésre áll-e a kritikus szakasz, ezért pazarolja a processzor jelentős idejét. Ez létrehozza a lockstep szinkronizálás néven ismert problémát, amelyben minden szál csak szigorú szinkronizálás mellett hajtható végre. Nem bővíthető, mivel csak legfeljebb két folyamatot támogat a kölcsönös kizáráshoz.

Mi a dekker algoritmusa? - meghatározás a techopedia alapján