題目有點意思,大家都知道Dictionary<K,V>不是線程安全的類型,而List<T>是線程安全的嗎?在今天之前大叔沒有去測試過,而就在今天也是一個VIP問我,說在我的代碼中使用了并行,然后為一個List賦值,說的直接一點就是:List元素是全局的,在各個線程里分別去操作它,測試數(shù)據(jù)是1萬條,而在測試結(jié)果之后,我發(fā)展List元素最終的數(shù)組是9000多條,也就是說被并發(fā)了幾千條數(shù)據(jù),呵呵,下面咱們看一下源代碼吧!
測試代碼:
[TestMethod] public void TestMethod0() { List<int> intList = new List<int>(); var result = Parallel.ForEach(Enumerable.Range(1, 10000), (val) => { intList.Add(val); }); if (r