Turinys:
Apibrėžimas - ką reiškia „Mutex“?
„Mutex“ C # klasėje yra klasė, apibrėžta .NET pagrindų klasės bibliotekoje, kuri gali būti naudojama siekiant užkirsti kelią tuo pačiu metu vykdyti kodo bloką keliose gijose, kurios veikia viename ar keliuose procesuose.
„Mutex“ naudojamas kaip sinchronizacijos primityvas tokiose situacijose, kai išteklius vienu metu turi dalintis kelios gijos. Pavadinti „mutex“ objektai naudojami sinchronizuojant procesus, nes kelios programos gali pasiekti tą patį „mutex“ objektą.
„Mutex“ klasė skirta apsaugoti bendrai naudojamus išteklius, tokius kaip atmintis, failų tvarkyklė ar tinklo ryšys, nuo vienu metu pasiekiamos kelių gijų ar procesų. Jis naudojamas užrakto sakinyje, siekiant suteikti nuoseklią prieigą prie išteklių ir užtikrina abipusį atskirtį kritinėse kodo dalyse. Tai padeda išvengti nenuspėjamo duomenų sugadinimo, kuris gali kilti, jei nėra sinchronizacijos. Jis dažnai naudojamas tikrinant, ar nėra vienos programos egzempliorių vienu metu.
„Mutex“ yra sutrumpinta viena kitos forma.
„Techopedia“ paaiškina „Mutex“
„Mutex“ suteikia kelioms gijoms prieigą prie bendro resurso, kad antroji gija, kuriai reikia įsigyti mutex, kurią jau įgijo kita gija, turi laukti, kol akimirka, kai pirmasis gija paleidžia mutex. Reikėtų pasirūpinti, kad siūlas nebandytų įgauti jau turimo mutekso, nes tai gali užklupti.
Pavyzdžiui, „mutex“ gali būti naudojamas suteikti išskirtinę prieigą prie failo, kurį reikia perskaityti ar modifikuoti daugiapakopėje aplinkoje.
„Mutex“ klasėje yra konstruktorius, kurį galima naudoti nustatant pagrindinius naujo „mutex“ objekto parametrus jo inicijavimo metu, pvz., Vardą, nuosavybės informaciją ir prieigos kontrolės apsaugą, kuri turi būti taikoma pavadintam „mutex“.
Nors užrakto sakiniai gali būti naudojami sinchronizuoti gijas viename procese, „mutex“ naudojamas per proceso ribas.
Kadangi „mutex“ klasė yra „Win32“ konstrukcijos įvyniojimas, jai reikalingi perjungimai, kurie lemia našumą. Iš esmės, tai nėra geras pasirinkimas, nebent to reikia dėl tokių priežasčių kaip sinchronizavimas per proceso ribas.
Šis apibrėžimas buvo parašytas atsižvelgiant į C #
