2014-09-24 96 views
0
using (FileStream fs = File.Open(@"C:\logs\log1.txt",FileMode.Append, 
       FileAccess.Write, FileShare.ReadWrite)) 
{ 

    using (StreamWriter w = new StreamWriter(fs)) 
    { 
     w.WriteLine(logMessage); 
     w.Flush(); 
     isSuccessful = true; 
    } 
} 

在上面的代碼,那麼該文件在FileShare.ReadWrite模式打開我實例化一個FileStream對象。不FileShare.ReadWrite意味着線程安全的書面文件在C#

我的問題:這是否意味着向打開的文件寫入一行的代碼將是線程安全的,或者FileShare.ReadWrite暗含了除線程安全以外的其他內容?

回答

1

FileShare無關與線程安全。 FileAccessFileShare的值僅在文件打開時使用。他們可能導致失敗,他們控制你和他人擁有的權利。

除此之外,涉及多個進程和線程時發生的情況沒有變化。

單個FileStream實例不是線程安全的。