Skip to main content

Hvad er en mutex?

Et gensidigt ekskluderingsobjekt, eller Mutex, er et objekt oprettet til brug i computerprogrammer.Den væsentlige funktion af Mutex er at gøre det muligt for en flere programtråd at gøre brug af en enkelt ressource.Generelt er funktionaliteten af gensidige ekskluderingsobjekter at tillade denne brug af en enkelt ressource ved at skabe et miljø, hvor adgangen til ressourcen kontinuerligt overføres frem og tilbage mellem de forskellige aspekter af programmet.

Processen med at aktivere og oprette en Mutex finder sted, når computerprogram -applikationen åbnes.I det væsentlige vil programmet skabe Mutex og relatere det til en bestemt ressource, der er nødvendig for effektiv funktion af det åbne program.Når ressourcerne kaldes frem, tildeler operativsystemet et unikt navn til Mutex og bruger det til at identificere processen, så længe programmet forbliver åbent.

Når Mutex er aktiveret og opkaldt efter sessionen, kan enhver anden tråd i programmet, der kræver denne ressource, have adgang, selvom ressourcen allerede er i aktiv brug af en anden tråd.Ved at indikere et behov for ressourcen vil Mutex -funktionen begynde at skifte adgang til ressourcen frem og tilbage mellem trådene.For slutbrugeren er denne proces gennemsigtig.Til alle praktiske formål ser det ud til, at to brugere eller to tråde gør os til den samme ressource samtidigt.

Mens hastigheden på overførslen af adgang er så hurtig, at den ikke engang kan ses for slutbrugeren, skal det bemærkes, at når en ressource er i brug, er den effektivt låst til den ene tråd i sekvensen.En anden tråd, der kræver brug af ressourcen, udsteder en anmodning, der går i en kø og forbliver der, indtil den første tråd er afsluttet med den aktive brug.På det tidspunkt låses ressourcen op, og Mutex -funktionen tillader den næste tråd i køens aktive adgang.Hvis en tredje tråd er aktiv og har brug for ressourcen, vil Mutex også linke denne tråd ind i køen og give adgang på roterende basis.