public void performWrite(IList<string> sampleData) { var randomizer = new Random(); Parallel.ForEach(sampleData, (string value) => { lock (lockObject) { values.Add(value, randomizer.Next().ToString()); } }); }