C# 创建任务

98be4563700efebe1e18f2cad8aff17e.png

下面从同步方法 Greeting 开始,该方法等待一段时间后,返回一个字符串:

static string Greeting(string name)
{
  TraceThreadAndTask($"running {nameof(Greeting)}"); 
  Task.Delay(3000).Wait(); 
  return $"Hello, {name}";
  }

定义方法 GreetingAsync,可以使方法异步化。基于任务的异步模式指定,在异步方法名后加上 Async 后缀,并返回一个任务。异步方法 GreetingAsync 和同步方法 Greeting 具有相同的输入参数,但是它返回的是 Task<string>。Task<string> 定义了一个返回字符串的任务。一个比较简单的做法是用 Task.Run 方法返回一个任务。泛型版本的 Task.Run<string>() 创建一个返回字符串的任务。由于编译器已经知道实现的返回类型(Greeting返回字符串),因此还可以使用 Task.Run() 来简化实现代码:

static Task<string> GreetingAsync(string name) =>
  Task.Run<string> (() =>
  {
    TraceThreadAndTask($"running {nameof(GreetingAsync)}");
    return Greeting(name);
  });

往期推荐

·  C# 数据流

·  C# 类型系统

·  C# 面向对象的编程

·  C# 执行 SQL 语句

·  C# 连接数据库

·  C# 迭代器

3db0f1abaeda64e253fa3ddc328109e8.png

Love life,love yourself

关注小编不迷路呦~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值