Ho ragione nel pensare che questo sia l'uso corretto di un dizionario concorrente
private ConcurrentDictionary<int,long> myDic = new ConcurrentDictionary<int,long>();
//Main thread at program startup
for(int i = 0; i < 4; i++)
{
myDic.Add(i, 0);
}
//Seperate threads use this to update a value
myDic[InputID] = newLongValue;
Non ho blocchi ecc. E sto solo aggiornando il valore nel dizionario anche se più thread potrebbero provare a fare lo stesso.
newLongValue
dipende dal valore precedente dimyDic[InputID]
?