Turinys:
- Apibrėžimas - Ką reiškia abipusis atskirtis (Mutex)?
- „Techopedia“ paaiškina abipusį atskirtį (Mutex)
Apibrėžimas - Ką reiškia abipusis atskirtis (Mutex)?
Tarpusavio atskirtis (mutex) yra programos objektas, neleidžiantis vienu metu pasiekti bendro naudojimo šaltinio. Ši sąvoka naudojama tuo pačiu metu programuojant su kritine sekcija, kodo dalimi, kurioje procesai ar gijos pasiekia bendrą resursą. Vienu metu „mutex“ priklauso tik vienai gijai, taigi paleidžiant programą sukuriamas „mutex“ su unikaliu pavadinimu. Kai gija turi šaltinį, jis turi užrakinti „mutex“ iš kitų gijų, kad būtų išvengta tuo pačiu prieigos prie išteklių. Išleidus išteklius, siūlas atrakina mutex.
„Techopedia“ paaiškina abipusį atskirtį (Mutex)
„Mutex“ patenka į paveikslėlį, kai du sriegiai veikia tuo pačiu metu tuo pačiu metu. Jis veikia kaip užraktas ir yra pats paprasčiausias sinchronizacijos įrankis. Kai siūlas bando įgyti mutex, jis įgauna mutex, jei jo yra, kitaip siūlas yra nustatytas miego režimui. Tarpusavio atskirtis sumažina delsą ir laukiančius užimtumą naudojant eilių sudarymo ir konteksto jungiklius. „Mutex“ gali būti vykdomas tiek aparatūros, tiek programinės įrangos lygiu.
Išjungimas nutraukiant mažiausią skaičių instrukcijų yra geriausias būdas užtikrinti „mutex“ palaikymą branduolio lygiu ir užkirsti kelią bendrai naudojamų duomenų struktūrų korupcijai. Jei keli procesoriai naudojasi ta pačia atmintimi, nustatoma vėliava, leidžianti įjungti ir išjungti išteklių įsigijimą atsižvelgiant į prieinamumą. Užimtumo laukimo mechanizmas vykdo mutex programinės įrangos srityse. Tai aprūpinama tokiais algoritmais kaip Dekkerio algoritmas, juodai baltų kepinių algoritmas, Szymanski algoritmas, Petersono algoritmas ir Lamporto kepyklų algoritmas.
Norint veiksmingai įdiegti mutex, gali būti apibrėžti abipusiai skaitytojai ir mutex klasių skaitymo / rašymo kodai.
