Pytania otagowane jako locking

Blokowanie pozwala na używanie różnych typów zasobów w danym momencie wyłącznie przez jeden proces.

9
Lotne vs. Zablokowane vs. Zablokowane
Powiedzmy, że klasa ma public int counterpole, do którego dostęp ma wiele wątków. Jest intto tylko zwiększane lub zmniejszane. Aby zwiększyć to pole, które podejście należy zastosować i dlaczego? lock(this.locker) this.counter++;, Interlocked.Increment(ref this.counter);, Zmień modyfikator dostępu counterna public volatile. Teraz, gdy odkryłem volatile, usunąłem wiele lockinstrukcji i ich użycie Interlocked. …

10
Blokowanie optymistyczne a pesymistyczne
Rozumiem różnice między optymistycznym a pesymistycznym blokowaniem. Czy ktoś mógłby mi teraz wyjaśnić, kiedy używałbym jednego z nich w ogóle? I czy odpowiedź na to pytanie zmienia się w zależności od tego, czy do wykonania zapytania używam procedury składowanej? Ale tylko dla sprawdzenia, optymizm oznacza „nie blokuj stołu podczas czytania”, …

8
Jak dokładnie działa blokada?
Widzę, że w przypadku używania obiektów, które nie są bezpieczne dla wątków, kod zamykamy w taki sposób: private static readonly Object obj = new Object(); lock (obj) { // thread unsafe code } Co dzieje się, gdy wiele wątków uzyskuje dostęp do tego samego kodu (załóżmy, że działa on w …

16
Dlaczego blokada (this) {…} jest zła?
Dokumentacja MSDN tak mówi public class SomeObject { public void SomeOperation() { lock(this) { //Access instance variables } } } to „problem, jeśli instancja jest dostępna publicznie”. Zastanawiam 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?



7
Czy faktycznie zdarzają się fałszywe budzenia w Javie?
Widząc różne pytania związane z blokowaniem i (prawie) zawsze znajdując „pętlę z powodu fałszywych pobudek” 1 Zastanawiam się, czy ktoś doświadczył takiego rodzaju pobudki (na przykład zakładając przyzwoite środowisko sprzętowe / programowe)? Wiem, że termin „fałszywy” oznacza brak wyraźnego powodu, ale jakie mogą być przyczyny takiego zdarzenia? ( 1 Uwaga: …

5
Wpływ podpowiedzi NOLOCK w instrukcjach SELECT
Chyba prawdziwe pytanie brzmi: Jeśli nie przejmuję się brudnymi odczytami, dodanie wskazówki with (NOLOCK) do instrukcji SELECT wpłynie na wydajność: bieżąca instrukcja SELECT inne transakcje na podstawie podanej tabeli Przykład: Select * from aTable with (NOLOCK)
199 sql  sql-server  locking 




17
Co to jest impas?
Podczas pisania aplikacji wielowątkowych jednym z najczęściej występujących problemów są zakleszczenia. Moje pytania do społeczności to: Co to jest impas? Jak je wykrywasz? Czy sobie z nimi radzisz? I wreszcie, jak im zapobiegasz?

5
Concurrent HashSet <T> w .NET Framework?
Mam następującą klasę. class Test{ public HashSet&lt;string&gt; Data = new HashSet&lt;string&gt;(); } 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&lt;string&gt; Data = new HashSet&lt;string&gt;(); public void Add(string Val){ lock(Data) Data.Add(Val); } public void Remove(string Val){ lock(Data) …



Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.