zoukankan      html  css  js  c++  java
  • 2.异步回调检测线程结束

    线程结束后调用其他函数

         private static void Main(string[] args)
            {
               //通过回调, 检测线程结束
                Func<int, string, int> a = Test;
                //倒数第二个参数为会调函数,线程结束后会调用此函数,最后个参数可以传递给回调函数数据
                a.BeginInvoke(100, "maning", OnCallBack, a);
    
                Console.ReadKey();
            }
    
            private static void OnCallBack(IAsyncResult ar)
            {
                Func<int, string, int> b = ar.AsyncState as Func<int, string, int>;
                int res = b.EndInvoke(ar);
                Console.WriteLine("子线程结束" + " 回调中取得参数" + res);
            }
    
            private static int Test(int i, string name)
            {
                Console.WriteLine("Test" + i + " " + name);
                //当前线程暂停100ms
                Thread.Sleep(100);
                return 100;
            }
    OnCallBack方法的参数是固定的,(IAsyncResult ar


    ar.AsyncState传递过来的数据,也就是main方法中的 Func<int, string, int> a


  • 相关阅读:
    Java 注解
    java多线程
    webstorm配置Monokai-Sublime.jar主题
    express
    npm与package.json
    Node require方法加载规则
    js伪数组转数组
    node中的Console
    Node.js核心模块-url
    服务端渲染SSR和客户端渲染CSR
  • 原文地址:https://www.cnblogs.com/Vincente/p/6912889.html
Copyright © 2011-2022 走看看