Dom Razvoj Što je mutex? - definicija iz tehopedije

Što je mutex? - definicija iz tehopedije

Sadržaj:

Anonim

Definicija - Što znači Mutex?

Mutex, u C #, je klasa definirana u knjižnici .NET Framework klase koja se može koristiti za sprečavanje istodobnog izvršavanja bloka koda od više niti koji se izvode u jednom ili u više procesa.


Mutex se koristi kao primitiv za sinkronizaciju u situacijama kada resurs moraju dijeliti više niti istovremeno. Namijenjeni mutex objekti koriste se za međuprocesnu sinkronizaciju jer više aplikacija može pristupiti istom mutex objektu.


Klasa mutex dizajnirana je za zaštitu zajedničkog resursa poput memorije, rukovanja datotekama ili mrežnog povezivanja od istodobnog pristupa više niti ili procesa. Koristi se u izjavi za zaključavanje kako bi omogućio serijski pristup resursima i osigurao međusobno isključenje unutar kritičnih dijelova koda. Pomaže u sprečavanju nepredvidive korupcije podataka do koje može doći ako nema sinkronizacije. Često se koristi za provjeru pojedinačne instance aplikacije u isto vrijeme.


Mutex je skraćeni oblik međusobno isključivog.

Techopedia objašnjava Mutex

Mutex pruža više niti pristupu zajedničkom resursu, tako da drugi nit koji treba da dobije mutex koji je već preuzeo drugi nit mora pričekati do trenutka kada prva nit oslobodi mutex. Treba paziti da nit ne pokuša steći mutex koji se već nalazi jer to može rezultirati u zastoju.


Na primjer, mutex se može koristiti za pružanje ekskluzivnog pristupa datoteci koju je potrebno pročitati ili izmijeniti u višetiranom okruženju.


Mutex klasa ima konstruktor koji se može koristiti za određivanje ključnih parametara novog mutex objekta tijekom njegove inicijalizacije, kao što su ime, podaci o vlasništvu i sigurnost kontrole pristupa koja će se primijeniti na imenovani mutex.


Iako se izrazi zaključavanja mogu koristiti za sinkronizaciju niti unutar jednog procesa, mutex se koristi preko granica procesa.


Budući da je klasa mutex omotač za Win32 konstrukciju, zahtijeva interop prijelaze koji rezultiraju hitom u izvedbu. Kao takav, nije dobar izbor, osim ako nije potreban iz razloga poput sinkronizacije preko granica procesa.

Ova je definicija napisana u kontekstu C #

Što je mutex? - definicija iz tehopedije