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)
我们不断得到越来越好的抽象处理并发性,因此通常不需要更低层次的构造.
您已经找到了这种更高级抽象的一个示例,.NET 4.0将为我们提供一些处理并发代码的新的非常强大的方法,例如Tasks和continuation.
随着时间的推移,您应该能够在越来越高的抽象层次上处理并发问题.在我看来,这些抽象是否存在于System.Threading中是不太重要的.
归档时间: |
|
查看次数: |
319 次 |
最近记录: |