Ce este un MUTEX?

Un obiect de excludere reciprocă, sau MUTEX, este un obiect creat pentru a fi utilizat în programe de calculator. Funcția esențială a MUTEX este de a face posibil ca un fir de program multiplu să folosească o singură resursă. În general, funcționalitatea obiectelor de excludere reciprocă este de a permite această utilizare a unei singure resurse prin crearea unui mediu în care accesul la resursă este transmis continuu înainte și înapoi între diferitele aspecte ale programului.

Procesul de activare și creare a unui MUTEX are loc la deschiderea aplicației programului de calculator. În esență, programul va crea MUTEX-ul și îl va raporta la o resursă specifică care este necesară pentru funcționarea eficientă a programului deschis. Pe măsură ce resursele sunt apelate, sistemul de operare va atribui un nume unic MUTEX-ului și îl va folosi pentru a identifica procesul atâta timp cât programul rămâne deschis.

Odată ce MUTEX este activat și numit pentru sesiune, orice alt thread al programului care necesită această resursă poate avea acces, chiar dacă resursa este deja în uz activ de către un alt thread. Indicând o nevoie pentru resursă, funcția MUTEX va începe să alterne accesul la resursă înainte și înapoi între fire. Pentru utilizatorul final, acest proces este transparent. Pentru toate scopurile și scopurile practice, se pare că doi utilizatori sau două fire ne fac din aceeași resursă simultan.

În timp ce viteza de transfer al accesului este atât de rapidă încât nici măcar nu este vizibilă pentru utilizatorul final, trebuie remarcat faptul că ori de câte ori o resursă este în uz, aceasta este blocată efectiv la un fir din secvență. Un alt fir care necesită utilizarea resursei va emite o solicitare care va intra într-o coadă și va rămâne acolo până când primul fir de execuție va termina cu utilizarea activă. În acel moment, resursa este deblocată și funcția MUTEX permite accesul activ următorului fir din coadă. Dacă un al treilea thread este activ și are nevoie de resursă, MUTEX va alinia și acest fir în coadă și va acorda acces în mod rotativ.