Casa Sviluppo Che cos'è il mutex? - definizione da techopedia

Che cos'è il mutex? - definizione da techopedia

Sommario:

Anonim

Definizione - Cosa significa Mutex?

Mutex, in C #, è una classe definita nella libreria di classi del framework .NET che può essere utilizzata per impedire l'esecuzione simultanea di un blocco di codice da parte di più thread in esecuzione in uno o più processi.


Il mutex viene utilizzato come primitiva di sincronizzazione in situazioni in cui una risorsa deve essere condivisa da più thread contemporaneamente. Gli oggetti mutex con nome vengono utilizzati per la sincronizzazione tra processi poiché più applicazioni possono accedere allo stesso oggetto mutex.


La classe mutex è progettata per proteggere una risorsa condivisa come memoria, handle di file o connessione di rete dall'accesso simultaneo di più thread o processi. Viene utilizzato nell'istruzione lock per fornire accesso serializzato alle risorse e garantisce l'esclusione reciproca all'interno delle sezioni critiche del codice. Aiuta a prevenire l'imprevedibile danneggiamento dei dati che può sorgere se non c'è sincronizzazione. Viene spesso utilizzato per verificare una singola istanza di un'applicazione alla volta.


Il mutex è una forma abbreviata di mutuo esclusione.

Techopedia spiega Mutex

Mutex fornisce più thread con accesso a una risorsa condivisa in modo tale che il secondo thread che deve acquisire un mutex che è già stato acquisito da un altro thread deve attendere fino all'istante in cui il primo thread rilascia il mutex. Bisogna fare attenzione a garantire che un thread non tenti di acquisire un mutex già in suo possesso, poiché ciò può provocare un deadlock.


Ad esempio, un mutex può essere utilizzato per fornire accesso esclusivo a un file che deve essere letto o modificato in un ambiente multithread.


La classe Mutex ha un costruttore che può essere utilizzato per specificare i parametri chiave di un nuovo oggetto mutex durante la sua inizializzazione, come nome, informazioni sulla proprietà e sicurezza del controllo di accesso da applicare al mutex denominato.


Mentre le istruzioni di blocco possono essere utilizzate per sincronizzare i thread all'interno di un singolo processo, mutex viene utilizzato oltre i limiti del processo.


Poiché la classe mutex è un wrapper per un costrutto Win32, richiede transizioni di interoperabilità che determinano un impatto sulle prestazioni. Come tale, non è una buona scelta a meno che non sia necessario per motivi come la sincronizzazione attraverso i confini del processo.

Questa definizione è stata scritta nel contesto di C #

Che cos'è il mutex? - definizione da techopedia