如果一个Thread里有执行FileStream.Write。
但是这个Thread有可能被别人调用Thread.Abort的。会不会发生FileStream.Write写一半的情况?
还是说FileStream.Write要么就是还没写,要么就是全写进去了,不可能写一半内容的?
我个人感觉是后者,但是我不敢确定。有没有人能通过FileStream.Write的具体实现方法来解答一下这个疑问?
FileStream.Write
但是这个Thread有可能被别人调用Thread.Abort的。会不会发生FileStream.Write写一半的情况?
还是说FileStream.Write要么就是还没写,要么就是全写进去了,不可能写一半内容的?
我个人感觉是后者,但是我不敢确定。有没有人能通过FileStream.Write的具体实现方法来解答一下这个疑问?
FileStream.Write
var bytes = Encoding.UTF8.GetBytes(msg);
FileStream fs = new FileStream("asia.txt", FileMode.Append, FileAccess.Write, FileShare.None, 4096, true);
fs.BeginWrite(bytes, 0, bytes.Length, iar =>
{
Stream stream = (Stream)iar.AsyncState;
stream.EndWrite(iar);
stream.Close();
}, fs);
异步写,没必要开线程