C# - 作为执行异步任务的委托(delegate),我仍然需要 System.Threading 吗?

标签 c# multithreading delegates

因为我可以使用委托(delegate)执行异步操作,所以我怀疑在我的应用程序中使用 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;

}
}

最佳答案

我们不断地获得越来越好的处理并发性的抽象,因此通常不需要更底层的构造。

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

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

关于C# - 作为执行异步任务的委托(delegate),我仍然需要 System.Threading 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1464922/

相关文章:

c# - 如何从 CLR 线程池而不是 ASP.NET 池在 ASP.NET 页面中创建线程?

c# - 委托(delegate)给实例方法不能有 null 'this'

ios - 如何将第二个 Controller 中的文本字段(嵌入在表格单元格中)中的字符串传递回第一个 Controller 中的标签(也嵌入在表格单元格中)?

c# - 为什么我没有得到我所有的正则表达式捕获?

c# - 为什么我的代码在使用性能分析运行时速度更快?

c# - foreach 更喜欢 IEnumerable<T> 还是 IEnumerator<T>

c - 在关键代码上使用互斥锁

java - 字符串切换回之前的值

c# - 使用委托(delegate)调用构造函数

c# - 您如何按照从最少到最多非零元素的顺序遍历排列?