C# AsyncCallback异步回调用法示例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
class Program
{
public delegate void MyFunction(string msg);

public static void Main(string[] args)
{
MyFunction fn = StartA;
fn.BeginInvoke("【B】要开始运行了!", asyncCallback=> {
for (int i = 1; i <= 1000; i++)
{
Console.WriteLine(" 【B】运行了" + i + "‰");
};
},null);

Console.WriteLine("【A】要开始运行了!");
for (int i = 1; i <= 1000; i++)
{
Console.WriteLine(" 【A】运行了" + i + "‰");
};

Console.ReadKey();
}


public static void StartA(string msg)
{
Console.WriteLine(msg);
}
}
}

运行结果

这里写图片描述

这里写图片描述

 

   public delegate void AsyncDelegate();
        private AsyncDelegate asyncDl;

                  asyncDl = new AsyncDelegate(() =>
                {
                   //todo
                });


                AsyncCallback callBack = new AsyncCallback((s) =>
                {

                         //todo
                });

              asyncDl.BeginInvoke(callBack, null); //启动执行

            当异步方法执行完毕会调用callBack方法

原文地址:https://www.cnblogs.com/wwwbdabc/p/10709257.html