Skip to main content

Co to jest mutex?

Obiekt wzajemnego wykluczenia, czyli Mutex, jest obiektem utworzonym do użytku w programach komputerowych.Zasadniczą funkcją MutEx jest umożliwienie wielu wątku programu, aby skorzystać z jednego zasobu.Zasadniczo funkcjonalność obiektów wykluczających wzajemne jest umożliwienie tego użycia jednego zasobu poprzez tworzenie środowiska, w którym dostęp do zasobu jest ciągle przekazywany między różnymi aspektami programu.

Proces aktywacji i tworzenia mutex odbywa się po otwarciu aplikacji programu komputerowego.Zasadniczo program utworzy Mutex i powiąza go z konkretnym zasobem potrzebnym do wydajnej funkcji otwartego programu.W miarę wywoływania zasobów system operacyjny przypisuje unikalną nazwę do mutex i użyje jej do identyfikacji procesu tak długo, jak program pozostaje otwarty.

Po aktywacji i nazwiska Mutex do sesji każdy inny wątek programu, który wymaga tego zasobu, może mieć dostęp, nawet jeśli zasób jest już aktywny przez inny wątek.Wskazując potrzebę zasobu, funkcja MutEx zacznie naprzemiennie dostęp do zasobu w przód i z powrotem między wątkami.Dla użytkownika końcowego proces ten jest przejrzysty.Dla wszystkich praktycznych celów i celów wydaje się, że dwóch użytkowników lub dwóch wątków tworzą nas jednocześnie z tego samego zasobu.

Podczas gdy prędkość transferu dostępu jest tak szybka, że nie jest nawet zauważalna dla użytkownika końcowego, należy zauważyć, że za każdym razem, gdy zasób jest używany, jest skutecznie zablokowany do jednego wątku w sekwencji.Kolejny wątek wymagający korzystania z zasobu wyda żądanie, które wejdzie w kolejkę i pozostanie tam, dopóki pierwszy wątek zakończy się aktywnym użyciem.W tym momencie zasób jest odblokowywany, a funkcja MutEx umożliwia następny wątek w aktywnym dostępie kolejki.Jeśli trzeci wątek jest aktywny i potrzebuje zasobu, Mutex również wyrówna ten wątek do kolejki i daje dostęp do obrotu.