当前位置: 移动技术网 > IT编程>开发语言>c# > C#同步和异步调用方法实例

C#同步和异步调用方法实例

2019年07月18日  | 移动技术网IT编程  | 我要评论
复制代码 代码如下:namespace consoletest{    class program   

复制代码 代码如下:

namespace consoletest
{
    class program
    {
        static void main(string[] args)
        {
            console.writeline("********同步调用开始**********");
            int result = add(1,2);
            console.writeline("同步调用完毕,执行结果为:" + result);

            console.writeline("********异步调用开始**********");
            synadd(1, 2, (r) => {
                console.writeline("异步调用完毕,执行结果为:" + r);
            });
            console.writeline("-------完毕!----------");
            console.readline();
        }

        /// <summary>
        /// 同步方法
        /// </summary>
        /// <param name="a"></param>
        /// <param name="b"></param>
        /// <returns></returns>
        static int add(int a, int b)
        {
            thread.sleep(5000);
            return a + b;
        }

        /// <summary>
        /// 异步调用
        /// </summary>
        /// <param name="a"></param>
        /// <param name="b"></param>
        /// <param name="callback">委托对象</param>
        static void synadd(int a, int b, action<int> callback)
        {
            func<int> func = () =>
            {
                thread.sleep(5000);
                return a+b;
            };//声明异步方法实现方式
            func.begininvoke((ar) =>
            {
                var result = func.endinvoke(ar);//调用完毕执行的结果
                callback.invoke(result);//委托执行,回传结果值
            }, null);
        }
    }
}

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网