Excluderea reciprocă (Mutex)

Autor: Lewis Jackson
Data Creației: 8 Mai 2021
Data Actualizării: 15 Mai 2024
Anonim
What is difference between Semaphore and Mutex
Video: What is difference between Semaphore and Mutex

Conţinut

Definiție - Ce înseamnă excluderea reciprocă (Mutex)?

O excludere reciprocă (mutex) este un obiect de program care împiedică accesul simultan la o resursă partajată. Acest concept este utilizat în programarea concomitentă cu o secțiune critică, o bucată de cod în care procesele sau firele accesează o resursă partajată. Doar un fir deține mutexul la un moment dat, astfel un mutex cu un nume unic este creat la pornirea unui program. Când un thread conține o resursă, trebuie să blocheze mutex-ul de alte fire pentru a împiedica accesul simultan la resursă. La eliberarea resursei, thread-ul deblochează mutex-ul.


O introducere în Microsoft Azure și Microsoft Cloud | În acest ghid, veți afla despre ce este vorba despre cloud computing și despre cum Microsoft Azure vă poate ajuta să migrați și să conduceți afacerea din cloud.

Techopedia explică excluderea reciprocă (Mutex)

Mutex vine în imagine atunci când două fire funcționează la aceleași date în același timp. Acționează ca un blocaj și este cel mai de bază instrument de sincronizare. Când un fir încearcă să achiziționeze un mutex, acesta câștigă mutex-ul dacă este disponibil, altfel firul este setat în stare de repaus. Excluderea reciprocă reduce latența și așteptările aglomerate folosind comutatoare în coadă și con. Mutex poate fi aplicat atât la nivel hardware cât și la nivel de software.

Dezactivarea întreruperilor pentru cel mai mic număr de instrucțiuni este cea mai bună modalitate de a impune mutex la nivel de nucleu și de a preveni corupția structurilor de date partajate. Dacă mai multe procesoare partajează aceeași memorie, un steag este setat pentru a activa și dezactiva achiziția resurselor în funcție de disponibilitate. Mecanismul de așteptare ocupă mutex în zonele software. Acesta este prevăzut cu algoritmi precum algoritmul Dekkers, algoritmul de panificație alb-negru, algoritmul Szymanskis, algoritmul Petersons și algoritmul de panificație Lamports.


Cititorii exclusiv reciprocă și codurile clasei mutex de citire / scriere pot fi definite pentru o implementare eficientă a mutex.