DotNet中异步编程的简单应用
这里说的异步编程并不是AJAX等的Web异步编程,而仅仅是DotNet中多线程的异步编程.这种多线程的异步编程主要用来解决某些受计算操作影响而引起主线程阻塞的问题.让程序(主要是窗体应用程序)看跑得更流畅.在dotnet的CLR以及API方法中有简单易用的方法供我们实现异步编程,并且都有相似的调用方法,诸如BeginXXX,EndXXX,IAsyncResult对象,同时也都涉及到回调,委托等操作.下面是一些简单的应用
1.异步IO操作,基本上就是按参数传递
delegate int CalSumHandler(int number);private static void DelegateAsyn(){ CalSumHandler handler = delegate(int number) { int sum = 0; for (int i = 0; i < number; i++) { sum += i; } return sum; }; int n = 10; handler.BeginInvoke(n, delegate(IAsyncResult ar) { int res = handler.EndInvoke(ar); Console.WriteLine("result from asyndelegate,sum = {0}", res); }, n);}?