在用FileStream WriteAsync方法(BeginWrite方法也是一样)的异步写文件时、
如下代码。实际上调用这段代码的时候,还是被阻塞了。
FileStream stream = new FileStream("in.txt", FileMode.OpenOrCreate,
FileAccess.ReadWrite, FileShare.ReadWrite, 1024, FileOptions.Asynchronous);
byte[] byteData = new byte[80961024 * 4];
Task task = stream.WriteAsync(byteData, 0, byteData.Length);
如果把这个FileStream绑定到一个StreamWriter上,用StreamWriter的WriteAsync方法倒是能异步,不会阻塞。
FileStream stream = new FileStream("in.txt", FileMode.OpenOrCreate,
FileAccess.ReadWrite, FileShare.ReadWrite, 1024, FileOptions.Asynchronous);
char[] byteData = new char[80961024 * 4];
var sw = new StreamWriter(stream);
Task task = sw.WriteAsync(byteData, 0, byteData.Length);
求大神解惑