Vzájemné vyloučení (Mutex)

Autor: Lewis Jackson
Datum Vytvoření: 8 Smět 2021
Datum Aktualizace: 15 Smět 2024
Anonim
Vzájemné vyloučení (Mutex) - Technologie
Vzájemné vyloučení (Mutex) - Technologie

Obsah

Definice - Co znamená vzájemné vyloučení (Mutex)?

Vzájemné vyloučení (mutex) je programový objekt, který zabraňuje současnému přístupu ke sdílenému prostředku. Tento koncept se používá v souběžném programování s kritickou částí, což je část kódu, v níž procesy nebo vlákna přistupují ke sdílenému prostředku. Mutex je vlastníkem pouze jednoho vlákna, takže při spuštění programu se vytvoří mutex s jedinečným názvem. Když vlákno drží prostředek, musí zamknout mutex z jiných vláken, aby se zabránilo souběžnému přístupu k prostředku. Po uvolnění zdroje vlákno odemkne mutex.


Úvod do Microsoft Azure a Microsoft Cloud | V této příručce se dozvíte, o čem cloud computing je a jak vám může Microsoft Azure pomoci migrovat a řídit podnikání z cloudu.

Techopedia vysvětluje vzájemné vyloučení (Mutex)

Mutex přichází na obrázek, když dvě vlákna pracují na stejných datech současně. Působí jako zámek a je nejzákladnějším synchronizačním nástrojem. Když se vlákno pokusí získat mutex, získá mutex, pokud je k dispozici, jinak je vlákno nastaveno do stavu spánku. Vzájemné vyloučení snižuje latenci a obsazené čekání pomocí přepínačů ve frontě a kon přepínačů. Mutex lze vynutit na úrovni hardwaru i softwaru.

Zakázání přerušení pro nejmenší počet pokynů je nejlepším způsobem, jak vynutit mutex na úrovni jádra a zabránit poškození struktur sdílených dat. Pokud sdílí stejnou paměť více procesorů, je nastaven příznak pro povolení a zakázání získávání prostředků na základě dostupnosti. Mechanismus busy-wait vynucuje mutex v softwarových oblastech. To je vybaveno algoritmy, jako je Dekkersův algoritmus, černobílý pekárenský algoritmus, Szymanskisův algoritmus, Petersonův algoritmus a Lamportsův pekárenský algoritmus.


Pro efektivní implementaci mutexu lze definovat vzájemně se vylučující čtečky a kódy pro čtení a zápis mutexů.