zoukankan      html  css  js  c++  java
  • 异步

    //1.异步调用
    //带参
    Action<object> action=(obj)=>method(obj);
    action.BeginInvoke(obj,ar=>action.EndInvoke(ar),null);
    //不带参
    Action action=()=>method();
    action.BeginInvoke(ar=>action.EndInvoke(ar),null);
    
    //2.异步调用
    public class AsyncThread
        {
            /// <summary>
            /// 异步执行
            /// </summary>
            /// <param name="method"></param>
            public static void Run(AsynsProp.ProcessTask method)
            {
                AsynsProp at = new AsynsProp();
                at.Start(method);
            }
        }
        public class AsynsProp
        {
            public delegate void ProcessTask();
            /// <summary>
            /// 使用委托做参数执行外面的代码
            /// </summary>
            /// <param name="processTask"></param>
            public void Start(ProcessTask processTask)
            {
                if (processTask != null)
                {
                    processTask.BeginInvoke(new AsyncCallback(End), processTask);
                }
            }
            /// <summary>
            /// Ends the long running process.
            /// </summary>
            /// <param name="result">The result.</param>
            public void End(IAsyncResult result)
            {
                ProcessTask processTask = (ProcessTask)result.AsyncState;
                processTask.EndInvoke(result);
            }
        }
    

      

  • 相关阅读:
    python kivy 简单入门
    django 入门实例
    window docker安装
    apache进程和用户请求的关系
    php cookie工作原理
    react-router 简单的nginx配置
    node单线程支撑高并发原理(node异步I/O)
    知识图谱
    java
    java
  • 原文地址:https://www.cnblogs.com/XuPengLB/p/7446842.html
Copyright © 2011-2022 走看看