正文

线程--使用线程回调方法(示例下载) 2006-05-26 11:39:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/Csharpsky/14894.html

分享到:

(一).描述   此示例演示使用线程回调方法(二).代码   using System;using System.Threading;using System.Runtime.Remoting.Messaging; namespace 回调{  //委托声明(函数签名) delegate string MyMethodDelegate();  class MyClass {  //调用的方法  public static string MyMethod()  {      //Console.WriteLine(System.Threading.Thread.CurrentThread.IsBackground);   for(int i = 0;i < 3; i++)  //延长时间(模拟实际任务)   {    Thread.Sleep(1000);   }   return "Hello Word";  }    //声明委托,调用MyMethod  private static MyMethodDelegate d = new MyMethodDelegate(MyClass.MyMethod);    //声明委托,调用AsyncCallbackMethod  private static System.AsyncCallback a = new System.AsyncCallback(MyClass.AsyncCallbackMethod);      [STAThread]  static void Main(string[] args)  {   d.BeginInvoke(a,null);    Console.ReadLine();   //这句不能去掉,否则主线程执行完成后,子线会会强迫调用Abort()方法销毁掉,也就执行不到回调方法了  }      public static void AsyncCallbackMethod(System.IAsyncResult myIAsyncResult)  {   string strEnd = d.EndInvoke(myIAsyncResult);      //委托调用的方法已经完成,输出其值     Console.WriteLine(strEnd);   Console.Read();  } }} 本示例代码已经测试,能够正常运行! (三).示例下载  http://www.cnblogs.com/Files/ChengKing/ThreadExample.rar

阅读(4426) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册