Domande taggate «locking»

Il blocco consente di utilizzare diversi tipi di risorse esclusivamente da un processo alla volta.

9
Volatile vs. Interbloccato vs. blocco
Diciamo che una classe ha un public int countercampo a cui accedono più thread. Questo intè solo incrementato o decrementato. Per incrementare questo campo, quale approccio dovrebbe essere usato e perché? lock(this.locker) this.counter++;, Interlocked.Increment(ref this.counter);, Cambia il modificatore di accesso di countera public volatile. Ora che ho scoperto volatile, ho …


8
Come funziona esattamente il blocco?
Vedo che per l'utilizzo di oggetti che non sono thread-safe, avvolgiamo il codice con un lucchetto come questo: private static readonly Object obj = new Object(); lock (obj) { // thread unsafe code } Quindi cosa succede quando più thread accedono allo stesso codice (supponiamo che sia in esecuzione in …

16
Perché lock (this) {…} è male?
La documentazione MSDN dice questo public class SomeObject { public void SomeOperation() { lock(this) { //Access instance variables } } } è "un problema se è possibile accedere all'istanza pubblicamente". Mi chiedo perché? È perché il blocco si terrà più a lungo del necessario? O c'è qualche motivo più insidioso?



7
Accadono spurie in Java?
Vedendo varie domande relative al blocco e (quasi) sempre trovando il termine "loop a causa di risvegli spuri" 1 Mi chiedo, qualcuno ha sperimentato un tale tipo di risveglio (supponendo ad esempio un ambiente hardware / software decente)? So che il termine "spurio" non significa una ragione apparente, ma quali …

5
Effetto del suggerimento NOLOCK nelle istruzioni SELECT
Immagino che la vera domanda sia: Se non mi interessano le letture sporche, l'aggiunta del suggerimento with (NOLOCK) a un'istruzione SELECT influirà sulle prestazioni di: l'attuale istruzione SELECT altre transazioni rispetto alla tabella indicata Esempio: Select * from aTable with (NOLOCK)
199 sql  sql-server  locking 




17
Che cos'è un deadlock?
Quando si scrivono applicazioni multi-thread, uno dei problemi più comuni riscontrati sono i deadlock. Le mie domande alla community sono: Che cos'è un deadlock? Come li rilevi? Li gestisci? E infine, come evitare che si verifichino?

5
HashSet simultaneo <T> in .NET Framework?
Ho la seguente classe. class Test{ public HashSet&lt;string&gt; Data = new HashSet&lt;string&gt;(); } Devo cambiare il campo "Dati" da thread diversi, quindi vorrei alcune opinioni sulla mia attuale implementazione thread-safe. 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) …



Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.