欢迎光临
我们一直在努力

(二)线程–通过委托异步调用方法-.NET教程,算法/线程

建站超值云服务器,限时71元/月

 

(一).描述
  先运行个简单的线程示例,认识一下线程
  通过委托调用方法,以及使用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();
  }
 }
}

本示例代码已经测试,能够正常运行!

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » (二)线程–通过委托异步调用方法-.NET教程,算法/线程
分享到: 更多 (0)

相关推荐

  • 暂无文章