Mutex („wzajemne wykluczanie”) to mechanizm zapewniający integralność, gdy te same dane lub zasoby są uzyskiwane (w szczególności zmieniane) jednocześnie z kilku wątków.
Używając C # i WPF w .NET (zamiast Windows Forms lub konsoli), jaki jest właściwy sposób na stworzenie aplikacji, którą można uruchomić tylko jako jedną instancję? Wiem, że ma to coś wspólnego z mityczną rzeczą zwaną mutex, rzadko mogę znaleźć kogoś, kto będzie chciał się zatrzymać i wyjaśnić, co to …
Mutex to koncepcja programowania, która jest często używana do rozwiązywania problemów związanych z wielowątkowością. Moje pytanie do społeczności: Co to jest mutex i jak go używasz?
Klasa Mutex jest bardzo źle rozumiana, a globalne muteksy jeszcze bardziej. Jaki dobry, bezpieczny wzorzec należy stosować podczas tworzenia globalnych muteksów? Taki, który zadziała Bez względu na lokalizację, w której znajduje się moja maszyna Gwarantuje prawidłowe uwolnienie muteksu Opcjonalnie nie zawiesza się na zawsze, jeśli muteks nie zostanie przejęty Zajmuje …
POSIX pozwala rekursywnym muteksom. Oznacza to, że ten sam wątek może dwa razy zablokować ten sam muteks i nie zablokuje się. Oczywiście musi również odblokować go dwa razy, w przeciwnym razie żaden inny wątek nie może uzyskać muteksu. Nie wszystkie systemy obsługujące pthreads również obsługują rekurencyjne muteksy, ale jeśli chcą …
Czytam dalej pthread.h; funkcje związane ze zmienną warunkową (jak pthread_cond_wait(3)) wymagają muteksu jako argumentu. Czemu? O ile mogę powiedzieć, że zamierzam być tworzenie mutex po prostu użyć jako tego argumentu? Co powinien zrobić ten muteks?
Zamknięte. To pytanie nie spełnia wytycznych dotyczących przepełnienia stosu . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było na temat przepełnienia stosu. Zamknięte 4 miesiące temu . Popraw to pytanie Jestem nowy w wielowątkowości i próbowałem zrozumieć, jak działają muteksy. Dużo szukałem w Google, ale nadal …
Czy ktoś może wyjaśnić różnicę między: lock (someobject) {} Korzystanie z Mutex Korzystanie z semafora Korzystanie z monitora Korzystanie z innych klas synchronizacji .Net Po prostu nie mogę tego rozgryźć. Wydaje mi się, że pierwsze dwa są takie same?
Motywacja: powód, dla którego rozważam to, że mój genialny kierownik projektu uważa, że doładowanie jest kolejną zależnością i że jest okropne, ponieważ "jesteś od niego zależny" (próbowałem wyjaśnić jakość wzmocnienia, ale po pewnym czasie zrezygnowałem :( Mniejszym powodem, dla którego chciałbym to zrobić, jest to, że chciałbym nauczyć się funkcji …
Mam następującą klasę. class Test{ public HashSet<string> Data = new HashSet<string>(); } Muszę zmienić pole „Dane” z różnych wątków, więc chciałbym poznać opinie na temat mojej obecnej implementacji bezpiecznej wątkowo. class Test{ public HashSet<string> Data = new HashSet<string>(); public void Add(string Val){ lock(Data) Data.Add(Val); } public void Remove(string Val){ lock(Data) …
W języku niskiego poziomu (C, C ++ lub czymkolwiek): mam wybór pomiędzy posiadaniem kilku muteksów (takich jak to, co daje mi pthread lub cokolwiek zapewnia natywna biblioteka systemowa) lub jednym dla obiektu. Jak skuteczne jest blokowanie muteksu? Tj. Ile jest prawdopodobnych instrukcji asemblera i ile czasu one zajmują (w przypadku, …
Właśnie zdałem sobie sprawę, że w jakimś miejscu w moim kodzie instrukcja return znajduje się wewnątrz zamka, a czasem na zewnątrz. Która jest najlepsza? 1) void example() { lock (mutex) { //... } return myData; } 2) void example() { lock (mutex) { //... return myData; } } Którego powinienem …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.