繁体   English   中英

我们如何知道IO是阻塞还是非阻塞

[英]How are we able to know a IO is blocking or non-blocking

阅读C#文档,我想知道如何知道IO是否阻塞。 例如BinaryWriter.Write方法,我找不到关于方法是否阻塞的文档的任何信息。

BinaryWriter.Write仅在其工作完成时返回。 这使它阻止。 等待时间可能无限制。

异步方法通常很容易被发现,因为它们返回TaskIAsyncResult (对应于旧的APM模式)。 它们也被恰当地命名( BeginXxxXxxAsync )。 当这样的方法返回时,你还没有结果。 这表明计算仍未完成。

docs为异步方法调用此属性。 因为几乎所有方法都是阻塞和同步的(例如所有字符串方法),这种行为在文档中没有提到。 这是默认值。

由于它不提供BeginWrite及其相应的EndWrite方法,因此必须进行阻塞。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM