【发布时间】:2016-08-30 17:23:32
【问题描述】:
在尝试确定我是否正确使用了Stream 方法(例如ReadAsync 和CopyToAsync)时遇到了以下问题:
C# 4.5 file read performance sync vs async
在这个问题中,我在接受的答案中阅读了以下内容:
最值得注意的是,您的“异步”测试不使用异步 I/O;带文件 流,您必须将它们显式地以异步方式打开,否则 您只是在后台线程上执行同步操作。
在他的异步 IO 代码中,他使用以下代码“异步”打开 FileStream:
var file = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read, 4096, true)
所以我想知道您是否打算使用诸如CopyToAsync 之类的方法,是否应该打开底层的FileStream,如上所示?而不是像下面这样简单:
File.Open(filename, FileMode.Open)
CopyToAsync 的实际文档中的示例演示如何打开底层FileStream:
https://msdn.microsoft.com/en-us/library/hh159084(v=vs.110).aspx
如果底层FileStream打开方式无关紧要,FileStream构造函数的useAsync参数是做什么的?
【问题讨论】:
标签: c# .net async-await .net-4.5