快捷搜索:

.NET 4.0新增命名空间:System.Collections.Concurrent

聚拢类的需求老是源源赓续,是以,不管是1.0到2.0的泛型,照样3.0到4.0的并行(本文的并行指Concurrent,非Parallel),.NET每个版本总会伴跟着一些聚拢类的增长。因为并行谋略现在已经越来越盛行,这里我将对.NET 4.0中新增的命名空间System.Collections.Concurrent和它下面的类做一些简单的先容。

为什么必要Concurrent?

信托不少同伙都有多线程编程的经历吧,不过在.NET 4.0曩昔,多线程编程下很轻易出问题,先看个简单的例子吧。

代码

static void main()

{

myList = new Liststring>();

for (int i = 0; i1000; i++)

{

myList.Add(i.ToString());

}

new Thread(T2).Start();

new Thread(T3).Start();

}

static IListstring> myList;

static void T2()

{

Thread.Sleep(100);

for (int i = 0; i50; i++)

{

myList.Remove(i.ToString());

}

}

static void T3()

{

foreach (var a in myList)

{

Console.WriteLine(a);

}

}

您可能还会对下面的文章感兴趣: