Itthon Fejlesztés Mi a mutex? - meghatározás a techopedia alapján

Mi a mutex? - meghatározás a techopedia alapján

Tartalomjegyzék:

Anonim

Meghatározás - Mit jelent a Mutex?

A Mutex a C #-ben egy .NET-keretrendszer osztálytáratban definiált osztály, amely felhasználható annak megakadályozására, hogy a kódblokk egyidejűleg végrehajtódjon egy vagy több folyamatban futó több szálak által.


A Mutex szinkronizációs primitívként kerül felhasználásra olyan helyzetekben, amikor az erőforrást egyszerre több szálnak kell megosztania. A megnevezett mutex objektumokat használják a folyamatok közötti szinkronizáláshoz, mivel több alkalmazás férhet hozzá ugyanahhoz a mutex objektumhoz.


A mutex osztály célja egy megosztott erőforrás, például memória, fájlkezelő vagy hálózati kapcsolat védelme a több szál vagy folyamat egyidejű hozzáférése ellen. A zárolási nyilatkozatban az erőforrásokhoz való soros hozzáférés biztosítására szolgál, és biztosítja a kölcsönös kizárást a kód kritikus szakaszaiban. Segít megakadályozni a kiszámíthatatlan adatkorrupciót, amely akkor fordulhat elő, ha nincs szinkronizálás. Gyakran ellenőrzik, hogy egyszerre van-e alkalmazás egyetlen példánya.


A Mutex a kölcsönösen kizáró rövidített forma.

A Techopedia magyarázza a Mutexet

A Mutex több szálhoz hozzáférést biztosít egy megosztott erőforráshoz, úgyhogy a második szálnak, amelynek meg kell szereznie egy másik szál által már megszerzett mutexet, meg kell várnia, amíg az első szál kiadja a mutexet. Vigyázni kell arra, hogy egy szál ne próbálja megszerezni a már megtartott mutexet, mivel ez patthelyzethez vezethet.


Például a mutex felhasználható exkluzív hozzáféréshez egy fájlhoz, amelyet többszálú környezetben kell olvasni vagy módosítani.


A Mutex osztálynak van egy konstruktora, amely felhasználható az új mutex objektumok kulcsfontosságú paramétereinek megadására az inicializálás során, például név, tulajdonjogi információk és a megnevezett mutexre alkalmazandó hozzáférés-vezérlő biztonság.


Míg a zárolási nyilatkozatok felhasználhatók a szálak szinkronizálására egyetlen folyamaton belül, addig a mutexet a folyamatok határokon átnyúlóan használják.


Mivel a mutex osztály a Win32 konstrukció burkolója, interop átmeneteket igényel, amelyek eredményt adnak a teljesítményhez. Mint ilyen, ez nem jó választás, hacsak nem szükséges olyan okok miatt, mint a szinkronizálás a folyamathatárokon.

Ezt a meghatározást a C # összefüggésben írták

Mi a mutex? - meghatározás a techopedia alapján