zoukankan      html  css  js  c++  java
  • C#实现简单的委托异步调用

     delegate void textAsy();
            static void Main(string[] args)
            {
    
                textAsy t = texts;
                AsyncCallback callBack = new AsyncCallback(sendCallBack);
                t.BeginInvoke(callBack, new { timeNow= DateTime.Now.Ticks,timeStr=DateTime.Now.ToString() });
                Console.WriteLine(DateTime.Now);
                Console.Read();
            }
            public static void texts()
            {
                Thread.Sleep(1100);
                Console.WriteLine(DateTime.Now);
            }
    
            //3)在回调函数中使用StateObject
            private static void sendCallBack(IAsyncResult ar)
            {
    
                Console.WriteLine("异步状态" + ((dynamic)ar.AsyncState).timeNow + ((dynamic)ar.AsyncState).timeStr);
            }
    

      


    由于操作是异步的 我们不知道他什么时候完成 所以一般采用回调函数处理  
     delegate void textAsy();
            static void Main(string[] args)
            {
    
                textAsy t = texts;
                AsyncCallback callBack = new AsyncCallback(sendCallBack);
                t.BeginInvoke(callBack,DateTime.Now.Ticks);
                Console.WriteLine(DateTime.Now);
                Console.Read();
            }
            public static void texts()
            {
                Thread.Sleep(1100);
                Console.WriteLine(DateTime.Now);
            }
    
            //3)在回调函数中使用StateObject
            private static void sendCallBack(IAsyncResult ar)
            {
    
                Console.WriteLine("异步状态"+(long)ar.AsyncState);
            }
    

      

      

    ar.AsyncState 就是 t.BeginInvoke(callBack,DateTime.Now.Ticks);中的参数
     delegate void textAsy();
            static void Main(string[] args)
            {
    
                textAsy t = texts;
                AsyncCallback callBack = new AsyncCallback(sendCallBack);
                t.BeginInvoke(callBack, new { timeNow= DateTime.Now.Ticks,timeStr=DateTime.Now.ToString() });
                Console.WriteLine(DateTime.Now);
                Console.Read();
            }
            public static void texts()
            {
                Thread.Sleep(1100);
                Console.WriteLine(DateTime.Now);
            }
    
            //3)在回调函数中使用StateObject
            private static void sendCallBack(IAsyncResult ar)
            {
    
                Console.WriteLine("异步状态" + ((dynamic)ar.AsyncState).timeNow + ((dynamic)ar.AsyncState).timeStr);
            }
    

      

  • 相关阅读:
    CodeForces 385D: Bear and Floodlight
    UVA
    SGU 495: Kids and Prizes
    CodeForces 148D: Bag of mice
    HDU 4405: Aeroplane chess
    HDU 4336: Card Collector
    UVA
    POJ 2577: Interpreter
    伪类选择器 伪原色选择器 选择器的优先级
    复习html CSS选择器 组合选择器和属性选择器
  • 原文地址:https://www.cnblogs.com/ProDoctor/p/6136254.html
Copyright © 2011-2022 走看看