Ben*_*son 7 c# task task-parallel-library async-await
我正在研究一些在内存中构建缓冲区的代码,然后TextWriter在缓冲区填满时将其清空.大多数情况下,角色将直接进入缓冲区(同步)但偶尔(每4kb一次)我需要调用TextWriter.WriteAsync.
在该System.Threading.Tasks.Extensions包有只似乎是一个ValueTask<T>结构,并且没有非通用ValueTask(没有一个类型参数).为什么没有ValueTask,如果我需要转换返回非泛型的方法Task(即方法的异步等价物void),我该ValueTask怎么办?
在黑暗中拍摄,但我认为这是因为Task.CompletedTask对于大多数非通用情况来说已经足够了。
一种思考方式是作为和ValueTask<T>的并集(分别针对异步和同步情况)。因此,非泛型将是…的并集……什么都没有,所以只是一个.Task<T>TValueTaskTaskTask
我想不出非泛型实际上ValueTask与缓存已经完成的Task(事实就是如此Task.CompletedTask)不同的情况,尽管我很想了解任何情况。
| 归档时间: |
|
| 查看次数: |
490 次 |
| 最近记录: |