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

Lilac ·
更新时间:2024-11-10
· 966 次阅读

代码如下:
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);
        }
  ;   }
}

您可能感兴趣的文章:C#异步调用实例小结C#基础之异步调用实例教程C# 委托的三种调用示例(同步调用 异步调用 异步回调)解析C#中委托的同步调用与异步调用(实例详解)C#异步调用的好处和方法分享C#异步调用示例详解



C# 调用 方法 异步 异步调用

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章