Domov Razvoj Kaj je medsebojna izključitev (mutex)? - definicija iz tehopedije

Kaj je medsebojna izključitev (mutex)? - definicija iz tehopedije

Kazalo:

Anonim

Opredelitev - Kaj pomeni medsebojna izključitev (Mutex)?

Medsebojna izključitev (mutex) je programski objekt, ki preprečuje hkratni dostop do skupnega vira. Ta koncept se uporablja pri sočasnem programiranju s kritičnim odsekom, delom kode, v katerem procesi ali niti dostopajo do skupnega vira. Naenkrat ima mutex le en nit, zato se mutex z edinstvenim imenom ustvari ob zagonu programa. Ko nit vsebuje vir, mora zakleniti mutex iz drugih niti, da prepreči sočasni dostop do vira. Po sprostitvi vira nit odklene mutex.

Tehopedija razlaga vzajemno izključenost (Mutex)

Mutex pride v sliko, ko dve niti hkrati delujeta na istih podatkih. Deluje kot ključavnica in je najosnovnejše orodje za sinhronizacijo. Ko nit poskusi pridobiti mutex, pridobi mutex, če je na voljo, sicer je nit nastavljena v stanje mirovanja. Medsebojna izključitev zmanjšuje zamude in zasedeno čakanje z uporabo čakalnih vrst in kontekstnih stikal. Mutex je mogoče uveljaviti tako na ravni strojne kot programske opreme.

Onemogočanje prekinitev za najmanjše število navodil je najboljši način za uveljavitev mutexa na ravni jedra in preprečevanje poškodb skupnih podatkovnih struktur. Če več procesorjev deli isti pomnilnik, se nastavi zastavica, ki omogoči in onemogoči pridobivanje virov glede na razpoložljivost. Mehanizem zasedenega čakanja uveljavi mutex na področjih programske opreme. Ta je opremljen z algoritmi, kot so Dekkerjev algoritem, algoritem črno-bele pekarne, Szymanskijev algoritem, Peterson-ov algoritem in Lamportov pekarski algoritem.

Za učinkovito izvajanje mutexa je mogoče določiti medsebojno izključujoče bralnike in brati / pisati kode razreda mutex.

Kaj je medsebojna izključitev (mutex)? - definicija iz tehopedije