Što je MUTEX?

Objekt međusobnog isključivanja, ili MUTEX, je objekt stvoren za korištenje u računalnim programima. Osnovna funkcija MUTEX-a je omogućiti višestrukoj programskoj niti da koristi jedan resurs. Općenito, funkcionalnost objekata međusobnog isključivanja je omogućiti ovu upotrebu jednog resursa stvaranjem okruženja u kojem se pristup resursu kontinuirano prenosi naprijed-natrag između različitih aspekata programa.

Proces aktiviranja i kreiranja MUTEX-a odvija se kada se otvori računalna programska aplikacija. U suštini, program će stvoriti MUTEX i povezati ga s određenim resursom koji je potreban za učinkovito funkcioniranje otvorenog programa. Kako se resursi pozivaju, operativni sustav će MUTEX-u dodijeliti jedinstveno ime i koristiti ga za identifikaciju procesa sve dok je program otvoren.

Nakon što je MUTEX aktiviran i imenovan za sesiju, svaka druga nit programa koja zahtijeva ovaj resurs može imati pristup, iako je resurs već u aktivnoj upotrebi od strane druge niti. Ukazujući na potrebu za resursom, funkcija MUTEX će početi naizmjenično pristupati resursu naprijed-natrag između niti. Za krajnjeg korisnika ovaj je proces transparentan. Za sve praktične namjere i svrhe, čini se da nas dva korisnika ili dvije niti istovremeno čine istim resursom.

Iako je brzina prijenosa pristupa toliko brza da krajnjem korisniku nije ni primjetna, treba napomenuti da kad god je resurs u upotrebi, on je učinkovito zaključan na jednu nit u nizu. Druga nit koja zahtijeva korištenje resursa izdat će zahtjev koji će ići u red čekanja i ostati tamo dok prva nit ne završi s aktivnom upotrebom. U tom trenutku, resurs je otključan i funkcija MUTEX omogućuje aktivni pristup sljedećem nizu u redu čekanja. Ako je treća nit aktivna i treba joj resurs, MUTEX će također postaviti ovu nit u red čekanja i dodijeliti pristup na rotirajućoj osnovi.