我们如何知道一个IO是阻塞的还是非阻塞的?
本文关键字:是非 IO 一个 何知道 我们 | 更新日期: 2023-09-27 18:14:31
阅读c#文档,我想知道如何知道IO是否阻塞。例如BinaryWriter。写方法,我在文档中找不到任何关于方法是否阻塞的信息。
BinaryWriter.Write
仅在其工作完成时返回。这就造成了阻塞。等待时间可能是无限的。
Task
或IAsyncResult
(这对应于旧的APM模式)。它们也被适当地命名(BeginXxx
或XxxAsync
)。当这样的方法返回时,您还没有得到结果。这表明计算仍未完成。
文档调用异步方法的这个属性。因为几乎所有的方法都是阻塞和同步的(例如所有的字符串方法),所以文档中没有注意到这种行为。
由于它不提供BeginWrite
及其相应的EndWrite
方法,因此它必须是阻塞的。