正文

线程--通过委托异步调用方法(示例下载)2006-05-26 11:37:00

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

分享到:

(一).描述  先运行个简单的线程示例,认识一下线程  通过委托调用方法,以及使用AsyncResult判断线程的状态 (二).代码using System;using System.Threading;using System.Runtime.Remoting.Messaging; namespace 通过委托异步调用方法{  //委托声明(函数签名) delegate string MyMethodDelegate();  class MyClass {  //要调用的动态方法  public string MyMethod1()  {   return "Hello Word1";  }   //要调用的静态方法  public static string MyMethod2()  {   return "Hello Word2";  } } class Class1 {  /// <summary>  /// 应用程序的主入口点。  /// </summary>  [STAThread]  static void Main(string[] args)  {            MyClass myClass = new MyClass();      //方式1:  声明委托,调用MyMethod1   MyMethodDelegate d = new MyMethodDelegate(myClass.MyMethod1);   string strEnd = d();      Console.WriteLine(strEnd);    //方式2:  声明委托,调用MyMethod2 (使用AsyncResult对象调用)   d = new MyMethodDelegate(MyClass.MyMethod2); //定义一个委托可以供多个方法使用         AsyncResult myResult;   //此类封闭异步委托异步调用的结果,通过AsyncResult得到结果.   myResult = (AsyncResult)d.BeginInvoke(null,null);        //开始调用   while(!myResult.IsCompleted)  //判断线程是否执行完成   {    Console.WriteLine("正在异步执行MyMethod2 .....");   }   Console.WriteLine("方法MyMethod2执行完成!");   strEnd = d.EndInvoke(myResult);      //等待委托调用的方法完成,并返回结果     Console.WriteLine(strEnd);   Console.Read();  } }} 本示例代码已经测试,能够正常运行! (三).示例下载  http://www.cnblogs.com/Files/ChengKing/ThreadExample.rar

阅读(4089) | 评论(1)


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

评论

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