c#异步,(无回调函数)
2013-11-13 11:31
337 查看
using System; namespace ConsoleApplication1 { class Class1 { //声明委托 public delegate void AsyncEventHandler(); //异步方法 void Event1() { Console.WriteLine("Event1 Start--------------------------------------------------------------------"); System.Threading.Thread.Sleep(4000); Console.WriteLine("Event1 End----------------------------------------------------------------------------"); } // 同步方法 void Event2() { Console.WriteLine("Event2 Start"); int i = 1; while (i < 1000) { i = i + 1; Console.WriteLine("Event2 " + i.ToString()); } Console.WriteLine("Event2 End"); } [STAThread] static void Main(string[] args) { long start = 0; long end = 0; Class1 c = new Class1(); Console.WriteLine("ready"); start = DateTime.Now.Ticks; //实例委托 AsyncEventHandler asy = new AsyncEventHandler(c.Event1); //异步调用开始,没有回调函数和AsyncState,都为null IAsyncResult ia = asy.BeginInvoke(null, null); //同步开始, c.Event2(); //异步结束,若没有结束,一直阻塞到调用完成,在此返回该函数的return,若有返回值。 asy.EndInvoke(ia); //都同步的情况。 //c.Event1(); //c.Event2(); end = DateTime.Now.Ticks; Console.WriteLine("时间刻度差=" + Convert.ToString(end - start)); Console.ReadLine(); } } }
相关文章推荐
- C#调用C++DLL中的回调函数(异步的情况,DLL中会在事件触发时调用函数)
- C#的异步回调函数
- C# 笔记 异步操作:回调函数__AsyncCallback 委托
- C#中异步回调函数用法实例
- 不显示删除回复显示所有回复显示星级回复显示得分回复 C# socket异步回调函数处理?
- C#异步数据接收串口操作类
- C#完整的通信代码(点对点,点对多,同步,异步,UDP,TCP)
- C#异步调用四大方法详解
- c#线程之异步委托begininvoke、invoke、AsyncWaitHandle.WaitOne 、异步回调
- C#异步编程
- C# 回调函数
- C#异步绑定数据实现方法
- C# SerialPort异步读取总结
- C#异步调用四大方法
- C#异步使用
- C# 异步Socket
- C#中的异步调用及异步设计模式(一)
- 回调函数之同步调用、回调、异步调用
- C# 线程池异步调用
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分