Mutex

Autor: Robert Simon
Data Utworzenia: 21 Czerwiec 2021
Data Aktualizacji: 14 Móc 2024
Anonim
GROUND LOOT ONLY Challenge in Warzone - NO LOADOUTS?!
Wideo: GROUND LOOT ONLY Challenge in Warzone - NO LOADOUTS?!

Zawartość

Definicja - Co oznacza Mutex?

Mutex, w języku C #, to klasa zdefiniowana w bibliotece klas środowiska .NET, której można użyć, aby zapobiec jednoczesnemu wykonaniu bloku kodu przez wiele wątków działających w jednym lub wielu procesach.

Mutex jest używany jako operacja podstawowa synchronizacji w sytuacjach, w których zasób musi być współdzielony przez wiele wątków jednocześnie. Nazwane obiekty mutex są używane do synchronizacji między procesami, ponieważ wiele aplikacji może uzyskać dostęp do tego samego obiektu mutex.

Klasa mutex została zaprojektowana w celu ochrony współdzielonego zasobu, takiego jak pamięć, uchwyt pliku lub połączenie sieciowe przed jednoczesnym dostępem wielu wątków lub procesów. Jest używany w instrukcji lock, aby zapewnić szeregowy dostęp do zasobów i zapewnia wzajemne wykluczanie w krytycznych sekcjach kodu. Pomaga zapobiegać nieprzewidywalnemu uszkodzeniu danych, które może powstać w przypadku braku synchronizacji. Często służy do sprawdzania pojedynczej instancji aplikacji na raz.

Mutex jest skróconą formą wzajemnie się wykluczających.

Wprowadzenie do Microsoft Azure i Microsoft Cloud | W tym przewodniku dowiesz się, na czym polega przetwarzanie w chmurze i jak Microsoft Azure może pomóc w migracji i prowadzeniu firmy z chmury.

Techopedia wyjaśnia Mutex

Mutex zapewnia wielu wątkom dostęp do współdzielonego zasobu, tak że drugi wątek, który musi uzyskać muteks, który został już pozyskany przez inny wątek, musi poczekać do momentu, w którym pierwszy wątek zwolni muteks. Należy zadbać o to, aby wątek nie próbował uzyskać muteksu, który już posiada, ponieważ może to doprowadzić do impasu.

Na przykład muteks może służyć do wyłącznego dostępu do pliku, który należy odczytać lub zmodyfikować w środowisku wielowątkowym.

Klasa Mutex ma konstruktor, którego można użyć do określenia kluczowych parametrów nowego obiektu mutex podczas jego inicjalizacji, takich jak nazwa, informacje o własności i zabezpieczenia kontroli dostępu, które mają być zastosowane do nazwanego muteksu.

Chociaż do blokowania wątków w ramach jednego procesu można użyć instrukcji lock, mutex jest używany ponad granicami procesu.

Ponieważ klasa mutex jest opakowaniem w konstrukcję Win32, wymaga przejścia międzyoperacyjnego, które powoduje obniżenie wydajności. Jako taki nie jest dobrym wyborem, chyba że jest wymagany z powodów takich jak synchronizacja między granicami procesów.
Ta definicja została napisana w con C #