C# - 由于代理执行Asyn任务仍然需要System.Threading吗?

use*_*677 3 c# multithreading delegates

因为我可以使用委托执行异步操作,我怀疑在我的应用程序中使用System.Threading的机会很小.是否有任何基本情况我无法避免System.Threading?

(只是我在学习阶段).

示例:

class Program

{

public delegate int Total (int a,int b);

static void Main()

{

  Total tl = new Total(SumUp);
  IAsyncResult isany=tl.BeginInvoke(20,20, null, null);

    while (!isany.IsCompleted)
    {
        Console.WriteLine("Busy with other work");
    }

    int ans = tl.EndInvoke(isany);

    Console.WriteLine("Result ={0}", ans);

}

static int SumUp(int a,int b)

{
    a = a * a;

    b = b * b;

    return a + b;

}
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*ann 8

我们不断得到越来越好的抽象处理并发性,因此通常不需要更低层次的构造.

您已经找到了这种更高级抽象的一个示例,.NET 4.0将为我们提供一些处理并发代码的新的非常强大的方法,例如Tasks和continuation.

随着时间的推移,您应该能够在越来越高的抽象层次上处理并发问题.在我看来,这些抽象是否存在于System.Threading中是不太重要的.