Потокобезопасность lock(){ File.AppendText }
От: Аноним  
Дата: 06.01.11 06:28
Оценка:
Вот такая реализация, может ли File.AppendText по каким-то обстоятельствам зависнуть, тем самым создав deadlock ? По идее все операции IO имеют некий таймаут. Ситуацию когда при обращении к файлу зависнет драйвер думаю нет смылса смотреть, т.к. в этом случае придется перезагружать систему.

Какие-то может еще грабли есть от использования lock{} в этом случае ?


public class Log
{
   private static string m_LogFilename;
   private static object m_LogSync  = new object();

   public static void Write( string text )
   {
      lock( m_LogSync )
      {
         File.AppendText( m_LogFilename, text );
      }

   }
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.