Mis on MUTEX?

Vastastikune välistamisobjekt ehk MUTEX on arvutiprogrammides kasutamiseks loodud objekt. MUTEXi põhifunktsioon on võimaldada mitmel programmilõimel kasutada ühte ressurssi. Üldjuhul on vastastikuse välistamise objektide funktsioon võimaldada ühe ressursi kasutamist, luues keskkonna, kus juurdepääsu ressursile edastatakse pidevalt programmi erinevate aspektide vahel.

MUTEX-i aktiveerimise ja loomise protsess toimub arvutiprogrammi rakenduse avamisel. Põhimõtteliselt loob programm MUTEXi ja seob selle konkreetse ressursiga, mida on vaja avatud programmi tõhusaks toimimiseks. Kui ressursse välja kutsutakse, määrab operatsioonisüsteem MUTEX-ile kordumatu nime ja kasutab seda protsessi tuvastamiseks seni, kuni programm on avatud.

Kui MUTEX on aktiveeritud ja seansi jaoks nimetatud, pääseb juurde mis tahes muu programmi lõim, mis seda ressurssi nõuab, isegi kui ressurssi kasutab juba mõni teine ​​lõim. Näidates vajadust ressursi järele, hakkab funktsioon MUTEX muutma juurdepääsu ressursile lõimede vahel edasi-tagasi. Lõppkasutaja jaoks on see protsess läbipaistev. Praktilistel eesmärkidel näib, et kaks kasutajat või kaks lõime kasutavad meid samaaegselt samast ressursist.

Kuigi juurdepääsu edastamise kiirus on nii kiire, et see pole lõppkasutajale isegi märgatav, tuleb arvestada, et kui ressurss on kasutusel, lukustatakse see tõhusalt jada ühe lõime külge. Teine ressursi kasutamist vajav lõim väljastab päringu, mis läheb järjekorda ja jääb sinna seni, kuni esimene lõim on aktiivse kasutamise lõpetanud. Sel hetkel on ressurss lukust vabastatud ja funktsioon MUTEX võimaldab järjekorra järgmisele lõimele aktiivse juurdepääsu. Kui kolmas lõim on aktiivne ja vajab ressurssi, lisab MUTEX ka selle lõime järjekorda ja annab juurdepääsu roteeruvalt.