Hjem Utvikling Hva er gjensidig eksklusjon (mutex)? - definisjon fra techopedia

Hva er gjensidig eksklusjon (mutex)? - definisjon fra techopedia

Innholdsfortegnelse:

Anonim

Definisjon - Hva betyr gjensidig eksklusjon (Mutex)?

En gjensidig utelukkelse (mutex) er et programobjekt som forhindrer samtidig tilgang til en delt ressurs. Dette konseptet brukes i samtidig programmering med en kritisk seksjon, et stykke kode der prosesser eller tråder får tilgang til en delt ressurs. Bare en tråd eier mutex om gangen, og dermed opprettes en mutex med et unikt navn når et program starter. Når en tråd har en ressurs, må den låse mutex fra andre tråder for å forhindre samtidig tilgang til ressursen. Når du slipper ressursen, låser tråden opp mutex.

Techopedia forklarer gjensidig eksklusjon (Mutex)

Mutex kommer inn i bildet når to tråder jobber med de samme dataene samtidig. Den fungerer som en lås og er det mest grunnleggende synkroniseringsverktøyet. Når en tråd prøver å skaffe seg en mutex, får den mutex hvis den er tilgjengelig, ellers er tråden satt til hvilemodus. Gjensidig eksklusjon reduserer ventetid og opptatt-venter ved bruk av kø- og kontekstbrytere. Mutex kan håndheves både på maskinvare- og programvarenivå.

Deaktivering av avbrudd for det minste antall instruksjoner er den beste måten å håndheve mutex på kjernenivå og forhindre korrupsjon av delte datastrukturer. Hvis flere prosessorer deler det samme minnet, settes et flagg til for å aktivere og deaktivere ressursanskaffelsen basert på tilgjengeligheten. Opptatt-ventemekanismen håndhever mutex i programvarearealene. Denne er utstyrt med algoritmer som Dekkers algoritme, den svart-hvite bakeri-algoritmen, Szymanskis algoritme, Petersons algoritme og Lamports bakerialgoritme.

Gjensidig eksklusive lesere og lese / skrive mutex-klassekoder kan defineres for en effektiv implementering av mutex.

Hva er gjensidig eksklusjon (mutex)? - definisjon fra techopedia