Acasă Dezvoltare Ce este excluderea reciprocă (mutex)? - definiție din techopedia

Ce este excluderea reciprocă (mutex)? - definiție din techopedia

Cuprins:

Anonim

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.

Techopedia explică excluderea reciprocă (Mutex)

Mutex intră î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 ocupate folosind comutatoare de coadă și context. 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 lui Dekker, algoritmul de panificație alb-negru, algoritmul lui Szymanski, algoritmul lui Peterson și algoritmul de panificație al lui Lamport.

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

Ce este excluderea reciprocă (mutex)? - definiție din techopedia