最佳答案
我想对 await
的结果 BlockingCollection<T>.Take()
异步,所以我不阻塞线程。寻找这样的东西:
var item = await blockingCollection.TakeAsync();
我知道我能做到:
var item = await Task.Run(() => blockingCollection.Take());
但是这有点扼杀了整个想法,因为另一个线程(ThreadPool
)被阻塞了。
还有别的选择吗?