任何支持使用(.NET Standard 2.1)AsParallel
的官方或稳定的第 3 方库?IAsyncEnumerable<T>
由于额外的成本,我不想用异步方法或其他东西包装IAsyncEnumerable<T>
一个。IEnumerable<Task<T>>
TaskCompletionSource
任何支持使用(.NET Standard 2.1)AsParallel
的官方或稳定的第 3 方库?IAsyncEnumerable<T>
由于额外的成本,我不想用异步方法或其他东西包装IAsyncEnumerable<T>
一个。IEnumerable<Task<T>>
TaskCompletionSource
将并行和异步结合起来没有多大意义。并行的目的是同时使用多个处理器/内核,而异步的目的是根本不使用任何 CPU 资源。
在枚举CPU 密集型的情况下,AsParallel
( PLINQ ) 与 s 一起使用。换句话说,当必须在一次调用和下一次调用之间执行多对多 CPU 指令时。对于s ,延迟(通常)不是由方法本身的调用引起的,而是由返回的等待引起的。等待一个可等待对象消耗零 CPU 资源。而且您无法控制它何时完成。以一个. 它会在一秒钟后完成,你不能强迫它在半秒钟内完成,除非你找到一种方法来弯曲时空。IEnumerable
IEnumerable
MoveNext
IAsyncEnumerable
MoveNextAsync
ValueTask
Task.Delay(1000)