• 异步调用委托的3种方法


    异步调用委托的3种方法

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace AsyncDelegate
    {
        
    class Program
        
    {

            
    delegate int IntIntDelegate(int x);//生明一个委托

            
    int Square(int x)
            
    {
                
    return x * x;
            }


             
    void AsyncDelegateExample()
            
    {
                
                IntIntDelegate f 
    = Square;

                
    //方法一
                IAsyncResult ar1=f.BeginInvoke(10,null,null);
                
    while (!ar1.IsCompleted)//循环直到异步完成
                    Console.WriteLine(f.EndInvoke(ar1));
                
    //do some work
                
                 
                
    //方法二
                IAsyncResult ar2= f.BeginInvoke(20nullnull);
                
    //do some work
                ar2.AsyncWaitHandle.WaitOne();//等待直到异步完成
                Console.WriteLine(f.EndInvoke(ar2));

                
    //方法三  完成后调用回调函数,取得结束通知的结果
                IAsyncResult ar3 = f.BeginInvoke(30, AsyncDelegateCallback, f);

            
            }


            
    void AsyncDelegateCallback(IAsyncResult ar)//回调函数
            {
                IntIntDelegate f 
    = (IntIntDelegate)ar.AsyncState;
                
    if (ar.IsCompleted)
                
    {
                    Console.WriteLine(f.EndInvoke(ar));
                }


                
    //Console.WriteLine(f.EndInvoke(ar));
                
            }


            
    static void Main(string[] args)
            
    {
                Program test 
    = new Program();
                test.AsyncDelegateExample();
    //客户端调用
            }

        }

    }


    输出: 100
              400
              900
  • 相关阅读:
    教师资格证考试全部重点名词解释
    计算机软考中高级职称评定条件
    如何计算教师工龄?工龄和教龄的区别
    vue.js中 this.$nextTick()的使用
    数组的合并 总结的几种方法
    CSS3实现了左右固定中间自适应的几种方法
    文本溢出省略号
    MVC/MVP/MVVM
    vue中父组件给子组件传值的方法
    vue实例的生命周期
  • 原文地址:https://www.cnblogs.com/xiaobaigang/p/931016.html
Copyright © 2020-2023  润新知