C#异步编程async await
程序员文章站
2024-01-28 11:26:52
...
不带返回值
public void OpenCommisionDetail(string code)
{
//异步执行此方法
AsyncOpenCommisionDetail(code);
}
public async Task AsyncOpenCommisionDetail(string code)
{
await Task.Factory.StartNew(() =>
{
//写你需要处理的业务
do something
}
}
带返回值
static void Main(string[] args)
{
Say(); //由于Main不能使用async标记
Console.ReadLine();
}
private async static void Say()
{
var t = TestAsync();
Thread.Sleep(1100); //主线程在执行一些任务
Console.WriteLine("Main Thread"); //主线程完成标记
Console.WriteLine(await t); //await 主线程等待取异步返回结果
}
static async Task<string> TestAsync()
{
return await Task.Run(() =>
{
Thread.Sleep(1000); //异步执行一些任务
return "Hello World"; //异步执行完成标记
});
}
上一篇: C# 异步编程async/await详解