Skip to main content

Hva er en mutex?

Et gjensidig eksklusjonsobjekt, eller mutex, er et objekt opprettet for bruk i dataprogrammer.Den essensielle funksjonen til mutex er å gjøre det mulig for en flere programtråd å benytte seg av en enkelt ressurs.Generelt er funksjonaliteten til gjensidig eksklusjonsobjekter å tillate denne bruken av en enkelt ressurs ved å skape et miljø der tilgangen til ressursen kontinuerlig føres frem og tilbake mellom de forskjellige aspektene av programmet.

Prosessen med å aktivere og opprette en mutex finner sted når dataprogrammet er åpnet.I hovedsak vil programmet lage mutex og relatere det til en spesifikk ressurs som er nødvendig for effektiv funksjon av det åpne programmet.Når ressursene kalles frem, vil operativsystemet tildele et unikt navn til mutex og bruke det til å identifisere prosessen så lenge programmet forblir åpent.

Når mutex er aktivert og oppkalt etter økten, kan enhver annen tråd i programmet som krever denne ressursen ha tilgang, selv om ressursen allerede er i aktiv bruk av en annen tråd.Ved å indikere et behov for ressursen, vil mutex -funksjonen begynne å veksle tilgangen til ressursen frem og tilbake mellom trådene.For sluttbrukeren er denne prosessen gjennomsiktig.For alle praktiske hensikter og formål ser det ut til at to brukere eller to tråder gjør oss til samme ressurs samtidig.

Mens hastigheten på overføringen av tilgang er så rask at den ikke en gang merkes for sluttbrukeren, skal det bemerkes at når en ressurs er i bruk, er den effektivt låst til den ene tråden i sekvensen.En annen tråd som krever bruk av ressursen vil gi en forespørsel som vil gå i kø og forbli der til den første tråden er ferdig med aktiv bruk.På det tidspunktet er ressursen låst opp og mutex -funksjonen tillater neste tråd i den aktive køen.Hvis en tredje tråd er aktiv og trenger ressursen, vil Mutex også stille denne tråden inn i køen og gi tilgang på roterende basis.