凭借异步 I/O 的优势以及现在非常容易编码和编写(使用 Await 和 TAP 方法),我想知道我们是否应该默认使用异步,并且只在需要时使用同步来调整性能。
异步 I/O 释放调用线程并允许在等待结果时执行其他操作。另一方面,异步 I/O 比同步慢一点。
为了强制执行响应式 UI,WinRT 设计人员发现提供仅异步方法是可以接受的。
AFAIK Windows 文件 I/O 内部是异步的。天真地看着这个我不清楚,为什么 .NET 中的异步文件 i/O 应该比同步慢。
我通常倾向于简单性和健壮性,并且只在必要时调整性能。过去,我们默认使用同步,但调用某些服务以及手机等平台强制执行异步除外。我们很少使用异步进行调整。