locking

Volatile vs. Interlocked vs. lock

Załóżmy, że klasa ma pole public int counter, do którego dostęp ma wiele wątków. To int jest tylko zwiększane lub zmniejszane ... kiedy odkryłem volatile, usuwałem wiele lock stwierdzeń i używania Interlocked. Ale czy jest jakiś powód, by tego nie robić?

Optymistyczny vs pesymistyczny

Rozumiem różnice między Optymistycznym a pesymistycznym blokowaniem*. Czy ktoś mógłby mi wyjaśnić, kiedy używam jednego z ni ... rawdzenia, optymistyczne oznacza " nie blokuj stołu podczas czytania "i pesymistyczne oznacza" blokuj stół podczas czytania."

Czy jest zaleta stosowania metody zsynchronizowanej zamiast zsynchronizowanego bloku?

Czy ktos moze mi powiedziec zalete metody zsynchronizowanej nad zsynchronizowanym blokiem z przykladem?

Dlaczego Blokada (to) {...} jest zła?

Dokumentacja MSDN mówi, że public class SomeObject { public void SomeOperation() { lock(this) { //Access ... m się dlaczego? Czy to dlatego, że zamek będzie trzymany dłużej niż to konieczne? A może jest jakiś bardziej podstępny powód?

Blokada rekurencyjna (Mutex) vs Non-Recursive Lock (Mutex)

POSIX pozwala muteksom być rekurencyjne. Oznacza to, że ten sam wątek może zablokować ten sam mutex dwa razy i nie będzie zab ... onieważ non-rekurencyjny mutex może być nieco szybszy od rekurencyjnego? Jednak testowałem to i różnicę nie jest aż tak duży.

Jak dokładnie działa blokada?

Widzę, że za używanie obiektów, które nie są bezpieczne dla wątków zawijamy kod blokadą w ten sposób: private static readon ... likacji internetowej). Są w kolejce? Jeśli tak, jak długo będą czekać? Jaki jest wpływ wydajności z powodu używania zamków?

Java synchronized method lock on object, or method?

Jeśli mam 2 zsynchronizowane metody w tej samej klasie, ale każda z nich ma dostęp do różnych zmiennych, czy 2 wątki mogą uzy ... } } Czy 2 wątki mogą uzyskać dostęp do tej samej instancji klasy X wykonującej x.addA() i x.addB() w tym samym czasie?

Jaka jest różnica między zamkiem wyłącznym a współdzielonym?

Według Wikipedii, Dzielone blokady są czasami nazywane "blokadami odczytu", a ekskluzywne są czasami nazywane "blokadami zapisu". Czy możesz wyjaśnić uzasadnienie pojęć "wspólny" i "wyłączny"?

Czy fałszywe przebudzenia w Javie rzeczywiście się zdarzają?

Widząc różne pytania związane z blokowaniem i (prawie) zawsze znajdując "pętlę z powodu fałszywych przebudzeń" 1 ciekawe, czy ... lock.unlock(); } } } Co mogę zrobić, aby obudzić to await nie czekając wiecznie na losowe Zdarzenie?

Co to jest impas?

Podczas pisania aplikacji wielowątkowych jednym z najczęstszych problemów są impasy. Moje pytania do społeczności to: Co to jest impas? Jak je wykrywasz? Zajmujesz się nimi? I wreszcie, jak im zapobiec?

Jak wyłączyć przyciski Home i inne przyciski systemowe w Androidzie?

Muszę wyłączyć przyciski Home i inne przyciski systemowe w mojej aplikacji na Androida. Przykład: MX Player (Zobacz w Google ... a jak Blokada Dla Dzieci (plugin) for MX Player: - Wyłącz Home, Back i wszystkie inne przyciski systemowe. Jakieś sugestie?

Upewnij się, że działa tylko jedna instancja programu

Czy istnieje Pythoniczny sposób na uruchomienie tylko jednej instancji programu? Jedynym rozsądnym rozwiązaniem, jakie wymy ... ego niż to? (weź pod uwagę, że program ma czasami zawieść, np. segfault - więc rzeczy typu "Lock file" nie będą działać)

Na jakim poziomie MongoDB blokuje zapisy? (albo: co to znaczy "za połączenie"

W dokumentacji mongodb jest napisane: Począwszy od wersji 2.2, MongoDB implementuje blokady w bazie danych dla większośc ... Czy tylko za połączenie? IOW: czy jest to na jedno połączenie, czy cała baza danych / test jest zablokowana podczas zapisu?

MySQL: transakcje a Blokowanie tabel

Jestem trochę zmieszany z transakcjami a blokowaniem tabel, aby zapewnić integralność bazy danych i upewnić się, że SELECT I ... su, podczas gdy inny jest nadal przetwarzany)? A może SELECT ... FOR UPDATE lub SELECT ... LOCK IN SHARE MODE byłoby lepsze?

Efekt podpowiedzi NOLOCK w poleceniach SELECT

Myślę, że prawdziwe pytanie brzmi: Jeśli nie dbam o brudne odczyty, czy dodanie z (NOLOCK) podpowiedzi do instrukcji SELECT ... ość: bieżąca instrukcja SELECT inne transakcje względem podanej tabeli Przykład: Select * from aTable with (NOLOCK)

Python: pojedyncza instancja programu

Czy istnieje Pythoniczny sposób na uruchomienie tylko jednej instancji programu? Jedynym rozsądnym rozwiązaniem, jakie wymy ... znacznie bardziej złożone i mniej zależne od portu zajmowanego przez nieistniejący serwer, więc musiałbym się z tym zgodzić.

Co to jest blokada ponownego wejścia i koncepcja w ogóle?

Zawsze się mylę. Czy ktoś mógłby wyjaśnić, co oznacza Reentrant w różnych kontekstach? I dlaczego chcesz użyć reentrant vs. n ... y są one ponownie włączone czy nie? Jakich pułapek należy unikać podczas ich używania? Czy mutex jest ponownie uczestnikiem?

To Zadanie.Fabryka.StartNew () gwarantuje użycie innego wątku niż wywołujący wątek?

Uruchamiam nowe zadanie z funkcji, ale nie chciałbym, aby działało na tym samym wątku. Nie obchodzi mnie, na którym wątku dzi ... skFactory, Action action) { return taskFactory.StartNew(action: action, cancellationToken: new CancellationToken()); }

Dowiedz się, kto blokuje plik na udziale sieciowym

Chcę wiedzieć, kto blokuje plik na udostępnieniu sieciowym. Oto problem : udział sieciowy jest na serwerze NAS, więc nie mog ... chwyt.exe , Process Explorer i PsFile wydają się być ograniczone do plików na lokalnej maszynie, więc nie działają dla mnie.

Zdezorientowany o UPDLOCK, HOLDLOCK

Badając użycie podpowiedzi tabeli , natknąłem się na te dwa pytania: Jakich podpowiedzi blokady powinienem użyć (T-SQL)? J ... m użyć, ale obawiam się, że mogłem popełnić błąd lub przeoczyć coś, co wróci, aby ugryźć mnie w przyszłości, stąd to pytanie.