Vzájomné vylúčenie (Mutex)

Autor: Lewis Jackson
Dátum Stvorenia: 8 Smieť 2021
Dátum Aktualizácie: 15 Smieť 2024
Anonim
Vzájomné vylúčenie (Mutex) - Technológie
Vzájomné vylúčenie (Mutex) - Technológie

Obsah

Definícia - Čo znamená vzájomné vylúčenie (Mutex)?

Vzájomné vylúčenie (mutex) je programový objekt, ktorý bráni súčasnému prístupu k zdieľanému prostriedku. Tento koncept sa používa v súbežnom programovaní s kritickou časťou, časťou kódu, v ktorej procesy alebo vlákna pristupujú k zdieľanému prostriedku. Naraz vlastní mutex iba jedno vlákno, takže pri spustení programu sa vytvorí mutex s jedinečným názvom. Ak vlákno obsahuje prostriedok, musí zamknúť mutex z iných vlákien, aby sa zabránilo súbežnému prístupu k prostriedku. Po uvoľnení prostriedku vlákno odomkne mutex.


Úvod do programu Microsoft Azure a Microsoft Cloud V tejto príručke sa dozviete, o čom všetko je cloud computing a ako vám môže Microsoft Azure pomôcť migrovať a podnikať z cloudu.

Techopedia vysvetľuje vzájomné vylúčenie (Mutex)

Mutex prichádza na obrázok, keď dve vlákna pracujú na rovnakých údajoch súčasne. Pôsobí ako zámok a je najzákladnejším synchronizačným nástrojom. Keď sa vlákno pokúša získať mutex, získa mutex, ak je k dispozícii, inak je vlákno nastavené do režimu spánku. Vzájomné vylúčenie znižuje latenciu a čakanie pomocou prepínačov vo fronte a prepínačov. Mutex je možné vynútiť na úrovni hardvéru aj softvéru.

Zakázanie prerušení pre najmenší počet inštrukcií je najlepším spôsobom, ako vynútiť mutex na úrovni jadra a zabrániť korupcii štruktúr zdieľaných údajov. Ak rovnakú pamäť zdieľa viacero procesorov, nastaví sa príznak na povolenie a zakázanie získavania prostriedkov na základe dostupnosti. Mechanizmus obsadenia čaká na vynútenie mutexu v softvérových oblastiach. Toto je vybavené algoritmami, ako je napríklad Dekkersov algoritmus, čiernobiely pekársky algoritmus, Szymanskisov algoritmus, Petersonov algoritmus a Lamportsov pekársky algoritmus.


Pre efektívnu implementáciu mutexu je možné definovať vzájomne sa vylučujúce čítačky a kódy triedy mutex.