Wat is een MUTEX?

Een wederzijds uitsluitingsobject of MUTEX is een object dat is gemaakt voor gebruik in computerprogramma's. De essentiële functie van MUTEX is om het mogelijk te maken dat een meerdere programmadraad gebruik maakt van een enkele bron. In het algemeen is de functionaliteit van wederzijdse uitsluitingsobjecten om dit gebruik van een enkele bron toe te staan ​​door een omgeving te creëren waarin de toegang tot de bron voortdurend heen en weer wordt geschakeld tussen de verschillende aspecten van het programma.

Het proces van het activeren en maken van een MUTEX vindt plaats wanneer de computerprogramma-applicatie wordt geopend. In essentie maakt het programma de MUTEX en legt deze verband met een specifieke bron die nodig is voor de efficiënte werking van het open programma. Terwijl de bronnen worden opgeroepen, zal het besturingssysteem een ​​unieke naam aan de MUTEX toekennen en deze gebruiken om het proces te identificeren zolang het programma open blijft.

Als de MUTEX eenmaal is geactiveerd en een naam heeft gekregen voor de sessie, kan elke andere thread van het programma die deze resource nodig heeft toegang hebben, ook al is de resource al actief in gebruik door een andere thread. Door een behoefte aan de bron aan te geven, begint de MUTEX-functie de toegang van de bron heen en weer tussen de threads af te wisselen. Voor de eindgebruiker is dit proces transparant. Voor alle praktische doeleinden lijkt het erop dat twee gebruikers of twee threads ons tegelijkertijd van dezelfde bron maken.

Hoewel de snelheid van de overdracht van toegang zo snel is dat het niet eens merkbaar is voor de eindgebruiker, moet worden opgemerkt dat wanneer een bron in gebruik is, deze effectief is vergrendeld aan de ene thread in de reeks. Een andere thread waarvoor het gebruik van de resource is vereist, geeft een verzoek uit dat in een wachtrij gaat en daar blijft totdat de eerste thread is voltooid met het actieve gebruik. Op dat moment wordt de bron ontgrendeld en biedt de MUTEX-functie de volgende thread in de wachtrij actieve toegang. Als een derde thread actief is en de resource nodig heeft, lijnt MUTEX deze thread ook in de wachtrij en verleent toegang op een roterende basis.

ANDERE TALEN

heeft dit artikel jou geholpen? bedankt voor de feedback bedankt voor de feedback

Hoe kunnen we helpen? Hoe kunnen we helpen?