Indholdsfortegnelse:
- Definition - Hvad betyder gensidig ekskludering (Mutex)?
- Techopedia forklarer gensidig ekskludering (Mutex)
Definition - Hvad betyder gensidig ekskludering (Mutex)?
En gensidig ekskludering (mutex) er et programobjekt, der forhindrer samtidig adgang til en delt ressource. Dette koncept bruges i samtidig programmering med et kritisk afsnit, et stykke kode, hvor processer eller tråde får adgang til en delt ressource. Kun en tråd ejer mutex ad gangen, så der oprettes en mutex med et unikt navn, når et program starter. Når en tråd har en ressource, skal den låse mutex fra andre tråde for at forhindre samtidig adgang til ressourcen. Når frigørelsen af ressourcen låses tråden op for mutex.
Techopedia forklarer gensidig ekskludering (Mutex)
Mutex kommer ind i billedet, når to tråde arbejder på de samme data på samme tid. Det fungerer som en lås og er det mest basale synkroniseringsværktøj. Når en tråd prøver at erhverve en mutex, får den mutex, hvis den er tilgængelig, ellers er tråden indstillet til søvntilstand. Gensidig udelukkelse reducerer latenstid og optaget-venter ved hjælp af kø- og kontektskontakter. Mutex kan håndhæves på både hardware- og softwareniveau.
Deaktivering af afbrydelser for det mindste antal instruktioner er den bedste måde at håndhæve mutex på kerneniveau og forhindre korruption af delte datastrukturer. Hvis flere processorer deler den samme hukommelse, indstilles et flag til at aktivere og deaktivere ressourceindsamling baseret på tilgængelighed. Mekanikken med optaget-ventning håndhæver mutex i softwarearealerne. Dette er udstyret med algoritmer såsom Dekkers algoritme, den sort-hvide bagerealgoritme, Szymanskis algoritme, Petersons algoritme og Lamport's bagerealgoritme.
Gensidigt eksklusive læsere og læse / skrive mutex-klassekoder kan defineres for en effektiv implementering af mutex.
