《C#并发编程经典实例》学习笔记—2.2 返回完成的任务
程序员文章站
2022-12-29 08:10:39
问题: 如何实现一个具有异步签名的同步方法。 从异步接口或基类继承代码,但希望用同步方式实现方法。 解释一下所谓的异步接口和异步基类。例如如下代码 即,接口和基类中包含了以Task为返回结果的方法,此接口或基类,即为异步接口或异步基类。 同步方式实现Task方法 或者 ......
问题:
如何实现一个具有异步签名的同步方法。
从异步接口或基类继承代码,但希望用同步方式实现方法。
解释一下所谓的异步接口和异步基类。例如如下代码
interface imyasyncinterface { task<int> getvalueasync(); }
即,接口和基类中包含了以task为返回结果的方法,此接口或基类,即为异步接口或异步基类。
同步方式实现task方法
class class1 : imyasyncinterface { task<int> getvalueasync() { return task.fromresult(1); } }
或者
class class1 : imyasyncinterface { task<int> getvalueasync() { var tcs = new taskcompletionsource<int>(); tcs.setresult(1); return tcs.task; } }
推荐阅读
-
《C#并发编程经典实例》学习笔记—3.1 数据的并行处理
-
《C#并发编程经典实例》学习笔记—2.1 暂停一段时间
-
《C#并发编程经典实例》读书笔记-关于并发编程的几个误解
-
《C#并发编程经典实例》学习笔记—2.2 返回完成的任务
-
《C#并发编程经典实例》学习笔记-进程(process)和线程(thread)
-
《C#并发编程经典实例》学习笔记—2.9 处理 async void 方法的异常
-
《C#并发编程经典实例》学习笔记—2.8 处理 async Task 方法的异常
-
《C#并发编程经典实例》学习笔记-第一章并发编程概述
-
《C#并发编程经典实例》学习笔记-第一章并发编程概述
-
《C#并发编程经典实例》学习笔记—2.5 等待任意一个任务完成 Task.WhenAny