Skip to main content

Co je to mutex?

Objekt vzájemného vylučování nebo Mutex je objekt vytvořený pro použití v počítačových programech.Základní funkcí MUTEX je umožnit, aby více vlákno programu využilo jediný zdroj.Obecně platí, že funkčnost objektů vzájemného vyloučení je umožnit toto použití jediného zdroje vytvořením prostředí, ve kterém je přístup ke zdroji neustále předáván tam a zpět mezi různými aspekty programu.

Proces aktivace a vytvoření MUTEX se odehrává při otevření aplikace počítačového programu.Program v podstatě vytvoří Mutex a spojí jej s konkrétním zdrojem, který je potřebný pro efektivní funkci otevřeného programu.Jakmile jsou zdroje vyvolány, operační systém přiřadí MUTEX jedinečný název a použije jej k identifikaci procesu, dokud program zůstane otevřený.

Jakmile je Mutex aktivován a pojmenován pro relaci, jakékoli jiné vlákno programu, který vyžaduje tento zdroj, může mít přístup, i když zdroj je již v aktivním využití jiným vláknem.Uvedením potřeby zdroje se funkce MUTEX začne alternativním přístupem zdroje mezi vlákny tam a zpět.Koncově uživateli je tento proces transparentní.Pro všechny praktické záměry a účely se zdá, že dva uživatelé nebo dva vlákna nás dělají ze stejného zdroje současně.

Zatímco rychlost přenosu přístupu je tak rychlá, že pro koncového uživatele není ani patrné, je třeba poznamenat, že kdykoli se zdroj používá, je účinně uzamčen na jedno vlákno v sekvenci.Další vlákno vyžadující použití zdroje vydá požadavek, který půjde do fronty a zůstane tam, dokud první vlákno nedokončí aktivním použitím.V tomto okamžiku je zdroj odemčen a funkce MUTEX umožňuje další vlákno ve frontě Active Access.Pokud je třetí vlákno aktivní a potřebuje zdroj, MUTEX také zarovne toto vlákno do fronty a uděluje přístup na rotujícím základě.