C#多线程实现异步接口
作者:.NET开发菜鸟 发布时间:2023-09-09 04:58:52
标签:C#,多线程,异步,接口
异步接口的声明
我们已经了解到,如果一个方法是异步的,那么这个方法的返回值类型是Task<T>,那么接口中该如何规定异步方法呢?
一样的,如果接口中的方法是异步的,那么规定方法的返回值类型是Task<T>即可,看下面的代码:
interface ITest
{
/// <summary>
/// 方法的返回类型是Task<T>
/// </summary>
/// <returns></returns>
Task<string> GetAsync();
}
注意:方法的前面不能添加async标注。因为从语法上来讲,接口只能定义行为,不能定义实现,如果标注为async,就属于实现了。我们在方法前面标注async,看看是什么效果:
我们看到,方法直接就报错了。而接口的实现类中的方法可以标注为async,也可以不标注为async,看下面的代码:
/// <summary>
/// 定义接口
/// </summary>
interface ITest
{
/// <summary>
/// 方法的返回类型是Task<T>
/// </summary>
/// <returns></returns>
///不能标注为async
Task<string> GetAsync();
}
public class Test : ITest
{
/// <summary>
/// 方法不标注为async 返回一个Task<string>类型
/// </summary>
/// <returns></returns>
//public Task<string> GetAsync()
//{
// return Task.Run<string>(() =>
// {
// return "2";
// });
//}
/// <summary>
/// 方法标注为async 直接返回一个string类型
/// </summary>
/// <returns></returns>
public async Task<string> GetAsync()
{
return "3";
}
}
来源:https://www.cnblogs.com/dotnet261010/p/12344114.html


猜你喜欢
- 如下所示:<?xml version="1.0" encoding="utf-8" ?>
- cc3利用链如下:TrAXFilter(Templates templates) TemplatesImpl-&a
- 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现。文件上传概述1、文件上传
- 上一篇实现了移动端微信消息界面功能,以此为基础继续完善服务端功能服务端微信消息页实现微信消息界面的实现,和登录,注册是类似的,无非就是接受客
- 引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就
- 本文实例讲述了Android开发使用自定义View将圆角矩形绘制在Canvas上的方法。分享给大家供大家参考,具体如下:前几天,公司一个项目
- 1.问题:昨天把项目打包放到国产中间件东方通(外部容器,功能类似Tomcat)上时,发现某些请求下载文件的接口不能正确返回文件,而是返回一个
- 本文实例分析了Android中GridView和ArrayAdapter用法。分享给大家供大家参考,具体如下:GridView是一个表格化的
- 在项目中引入springcloud中的gateway时报以下错误Description:Parameter 0 of method modi
- 介绍Java中的建造者模式是一种创建型设计模式,它的主要目的是为了通过一系列简单的步骤构建复杂的对象,允许创建复杂对象的不同表示形式,同时隐
- 类加载是什么把磁盘中的java文件加载到内存中的过程叫做类加载当我们用java命令运行某个类的main函数启动程序时,首先需要通过类加载器把
- 一、语音聊天说专业点就是即时语音,是一种基于网络的快速传递语音信息的技术,普遍应用于各类社交软件中,优势主要有以下几点:(1)时效性:视频直
- 1.小程序推送信息列如我们去餐厅等位有预约提醒,剩余桌数首先申请一个小程序,微信开放平台:小程序2.申请小程序信息,申请信息模板appid&
- 本文为大家分享了Android Studio debug功能的具体使用方法,供大家参考,具体内容如下运行debug模式 1. 进入
- 将Android项目导出为Library1.修改build.gradle中的Module:app文件最终如下:2. 进入到项目文件夹目录,保
- 排序二叉树概念二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),亦称二叉搜索树。是数据
- 两种方式:1. String str = "123 456 789 111";String [] strArray =
- 1 起因在实际业务开发中, 我们经常会遇到需要临时创建一个数组的情况, 今天我们就来讲一下Java中ArrayList初始化的方法2 解决方
- 一、使用策略枚举来优化if-else看到网上蛮多人推荐使用策略模式来优化if-else,但我总觉得,搞一堆策略类来优化大批量if-else,
- 本篇文章所涉及到的demo练习 使用的cloud 2021.0.3+ springboot2.6.8一、概述简介官网:https://doc