Mikä on MUTEX?

Keskinäinen poissulkemisobjekti eli MUTEX on tietokoneohjelmissa käytettäväksi luotu objekti. MUTEXin olennainen tehtävä on mahdollistaa usean ohjelmasäikeen hyödyntäminen yhtä resurssia. Yleisesti keskinäisten poissulkemisobjektien toiminnallisuus on sallia tämä yhden resurssin käyttö luomalla ympäristö, jossa pääsy resurssiin siirretään jatkuvasti edestakaisin ohjelman eri osien välillä.

MUTEXin aktivointi- ja luontiprosessi tapahtuu, kun tietokoneohjelmasovellus avataan. Pohjimmiltaan ohjelma luo MUTEXin ja liittää sen tiettyyn resurssiin, jota tarvitaan avoimen ohjelman tehokkaaseen toimintaan. Kun resursseja kutsutaan esiin, käyttöjärjestelmä antaa MUTEXille ainutlaatuisen nimen ja käyttää sitä prosessin tunnistamiseen niin kauan kuin ohjelma on auki.

Kun MUTEX on aktivoitu ja nimetty istunnolle, millä tahansa muulla ohjelman säikeellä, joka vaatii tätä resurssia, voi olla pääsy, vaikka resurssi on jo toisen säikeen aktiivisessa käytössä. Osoittamalla resurssin tarpeen MUTEX-toiminto alkaa vuorottelemaan resurssin käyttöä edestakaisin säikeiden välillä. Loppukäyttäjälle tämä prosessi on läpinäkyvä. Käytännön tarkoituksissa näyttää siltä, ​​että kaksi käyttäjää tai kaksi säiettä tekevät meistä saman resurssin samanaikaisesti.

Vaikka pääsyn siirron nopeus on niin nopea, ettei sitä edes huomaa loppukäyttäjälle, on huomioitava, että aina kun resurssi on käytössä, se lukittuu tehokkaasti sekvenssin yhteen säikeeseen. Toinen säie, joka vaatii resurssin käyttöä, lähettää pyynnön, joka menee jonoon ja pysyy siellä, kunnes ensimmäinen säie on lopettanut aktiivisen käytön. Tässä vaiheessa resurssin lukitus avataan ja MUTEX-toiminto sallii jonon seuraavan säikeen aktiivisen pääsyn. Jos kolmas säie on aktiivinen ja tarvitsee resurssia, MUTEX asettaa myös tämän säikeen jonoon ja myöntää käyttöoikeuden kiertävästi.