Mutex

Autor: Robert Simon
Datum Vytvoření: 21 Červen 2021
Datum Aktualizace: 14 Smět 2024
Anonim
GROUND LOOT ONLY Challenge in Warzone - NO LOADOUTS?!
Video: GROUND LOOT ONLY Challenge in Warzone - NO LOADOUTS?!

Obsah

Definice - Co znamená Mutex?

Mutex v C # je třída definovaná v knihovně tříd .NET framework, kterou lze použít k zabránění současného spuštění bloku kódu více podprocesů, které běží v jednom nebo více procesech.

Mutex se používá jako synchronizační primitiv v situacích, kdy zdroj musí být sdílen více vlákny současně. Pojmenované objekty mutex se používají pro synchronizaci mezi procesy, protože ke stejnému objektu mutex může mít přístup více aplikací.

Třída mutex je navržena tak, aby chránila sdílený prostředek, jako je paměť, popisovač souboru nebo síťové připojení, před simultánním přístupem pomocí více vláken nebo procesů. Používá se v příkazu lock k zajištění serializovaného přístupu ke zdrojům a zajišťuje vzájemné vyloučení uvnitř kritických částí kódu. Pomáhá předcházet nepředvídatelnému poškození dat, ke kterému může dojít, pokud nedojde k synchronizaci. Často se používá ke kontrole jedné instance aplikace najednou.

Mutex je zkrácená forma vzájemně se vylučujících.

Úvod do Microsoft Azure a Microsoft Cloud | V této příručce se dozvíte, o čem cloud computing je a jak vám může Microsoft Azure pomoci migrovat a řídit podnikání z cloudu.

Techopedia vysvětluje Mutex

Mutex poskytuje více vláken s přístupem ke sdílenému prostředku tak, že druhé vlákno, které potřebuje získat mutex, který již byl získán jiným vláknem, musí počkat do okamžiku, kdy první vlákno uvolní mutex. Je třeba dbát na to, aby se vlákno nepokoušelo získat mutex, který již drží, protože to může vést k zablokování.

Například mutex lze použít k zajištění exkluzivního přístupu k souboru, který je třeba číst nebo upravovat ve vícevláknovém prostředí.

Třída Mutex má konstruktor, který lze použít k určení klíčových parametrů nového objektu mutex během jeho inicializace, jako je jméno, informace o vlastnictví a zabezpečení řízení přístupu, které mají být použity na pojmenovaný mutex.

Zatímco příkazy lock lze použít k synchronizaci vláken v rámci jednoho procesu, mutex se používá přes hranice procesu.

Protože třída mutex je wrapper pro konstrukci Win32, vyžaduje interop přechody, které mají za následek zásah do výkonu. Není to tedy dobrá volba, pokud to není nutné z důvodů, jako je synchronizace přes hranice procesu.
Tato definice byla napsána v konu C #