Articles of concurrency

.NET – Dizionario locking vs. ConcurrentDictionary

Non sono riuscito a trovare abbastanza informazioni sui tipi ConcurrentDictionary , quindi ho pensato di chiederlo qui. Attualmente, utilizzo un Dictionary per tenere tutti gli utenti a cui si accede costantemente da più thread (da un pool di thread, quindi senza una quantità esatta di thread) e ha accesso sincronizzato. Recentemente ho scoperto che c’era […]

Qual è l’equivalente di Swift di Objective-C “@ sincronizzato”?

Ho cercato nel libro Swift, ma non riesco a trovare la versione Swift di @synchronized. Come faccio a fare l’esclusione reciproca in Swift?

Seleziona / inserisci la versione di un Upsert: esiste un modello di progettazione per una concorrenza elevata?

Voglio fare la versione SELECT / INSERT di un UPSERT. Di seguito è riportato un modello del codice esistente: // CREATE TABLE Table (RowID INT NOT NULL IDENTITY(1,1), RowValue VARCHAR(50)) IF NOT EXISTS (SELECT * FROM Table WHERE RowValue = @VALUE) BEGIN INSERT Table VALUES (@Value) SELECT @id = SCOPEIDENTITY() END ELSE SELECT @id = […]

HttpClient è sicuro da usare contemporaneamente?

In tutti gli esempi che posso trovare degli usi di HttpClient , è usato per una chiamata. Ma cosa succede se ho una situazione client persistente, dove possono essere fatte più richieste contemporaneamente? Fondamentalmente, è sicuro chiamare client.PostAsync su 2 thread contemporaneamente contro la stessa istanza di HttpClient . Non sto davvero cercando risultati sperimentali […]

Perché non c’è ConcurrentHashSet contro ConcurrentHashMap

HashSet è basato su HashMap. Se guardiamo all’implementazione di HashSet , tutto è gestito da HashMap . è usato come chiave di HashMap . E sappiamo che HashMap non è thread-safe. Ecco perché abbiamo ConcurrentHashMap in Java. Sulla base di questo, sono confuso dal fatto che non abbiamo un ConcurrentHashSet che dovrebbe essere basato su […]

Richieste simultanee di NSURLSession con Alamofire

Sto riscontrando un comportamento strano con la mia app di test. Ho circa 50 richieste GET simultanee che invio allo stesso server. Il server è un server incorporato su un piccolo pezzo di hardware con risorse molto limitate. Al fine di ottimizzare le prestazioni per ogni singola richiesta, configuro un’istanza di Alamofire.Manager come segue: let […]

Istruzioni SSE: quali CPU possono eseguire operazioni di memoria atomica a 16B?

Considerare un’istruzione SSE a singola memoria (a lettura singola o singola scrittura, non lettura + scrittura) su una CPU x86. L’istruzione accede a 16 byte (128 bit) di memoria e la posizione di memoria accessibile è allineata a 16 byte. Il documento “White paper di ordinazione della memoria di architettura Intel® 64” afferma che per […]

Usi pratici per AtomicInteger

Comprendo che AtomicInteger e altre variabili atomiche consentono accessi concorrenti. In quali casi viene usata tipicamente questa class?

Coordinamento dell’esecuzione parallela in node.js

Il modello di programmazione event-driven di node.js rende piuttosto complicato coordinare il stream del programma. La semplice esecuzione sequenziale viene trasformata in callback annidati, il che è abbastanza semplice (anche se un po ‘complicato da scrivere). Ma per quanto riguarda l’esecuzione parallela? Supponiamo che tu abbia tre compiti A, B, C che possono essere eseguiti […]

Concorrenza: atomica e volatile nel modello di memoria C ++ 11

Una variabile globale è condivisa su 2 thread in esecuzione simultanea su 2 core diversi. I thread scrivono e leggono dalle variabili. Per la variabile atomica, un thread può leggere un valore scaduto? Ogni core potrebbe avere un valore della variabile condivisa nella sua cache e quando un thread scrive nella sua copia in una […]