zoukankan      html  css  js  c++  java
  • .net3.5后新增的 BeginInvoke EndInvoke 异步操作

            protected void Main()
            {
                //首先定义一个方法的封装..后边的LongTimeMethod是被封装的方法..
                Func<int> longTimeAction = new Func<int>(LongTimeMethod);
                //定义一个异步操作.. asynResult  
                //用上边的longTimeAction封装 来开启这个异步操作..
    
                IAsyncResult asynResult = longTimeAction.BeginInvoke(null, null);
                //在上边的开启异步操作后..程序会另外启动一个线程来执行前边的封装方法..这个方法是委托给这个新线程的
                //得到了异步请求的结果..返回给 ret
                int ret = longTimeAction.EndInvoke(asynResult);
            }
    
            int LongTimeMethod()
            {
                return 1;
            }
            protected void Main ()
            {
                //首先定义一个方法的封装..后边的LongTimeMethod是被封装的方法..
                Func<int> longTimeAction = new Func<int>(LongTimeMethod);
                //定义一个异步操作.. asynResult  
                //用上边的longTimeAction封装 来开启这个异步操作..
    
                int ss=0;
                IAsyncResult asynResult = longTimeAction.BeginInvoke((result) => { ss = longTimeAction.EndInvoke(result); }, null);
                //在上边的开启异步操作后..程序会另外启动一个线程来执行前边的封装方法..这个方法是委托给这个新线程的
                //得到了异步请求的结果..返回给 ss
            }
    
            int LongTimeMethod()
            {
                return 1;
            }
  • 相关阅读:
    Django 前后端数据传输、ajax、分页器
    项目分层
    The Jaisalmer Desert Festival 2017/2/9
    Slacklining 2017/2/7
    Slacklining 2017/2/6
    SnowKiting 2017/1/24
    ADO1
    SnowKiting
    CSS-学习笔记六
    D Vitamin
  • 原文地址:https://www.cnblogs.com/iiwen/p/4835611.html
Copyright © 2011-2022 走看看