我正在使用FileStream
(0.1 - 100 GBytes)创建一个非常大的文件:
using (var strm = File.OpenWrite(Destination)) {
while(someCondition) {
bfr = GetBuffer();
strm.Write(bfr.Data, 0, ChunkSizeInBytes);
strm.Flush();
ShowProgress();
}
}
当我到达using
语句的末尾时,线程会挂起很长时间。我strm.Close()
在循环之后放了一个,看来这就是干扰点(文件关闭)。
(请注意,我Flush()
在每个之后Write()
)
为什么会这样以及如何克服它?