スレッドセーフなメソッドを作成しようとしています。
次のコードで同時実行の問題が発生することはありますか?
このメソッドで同時実行性をテストする方法を見つけることができませんでしたが、私には問題ないようです。どんな助けでも大歓迎です。
//static locker for thread synchronization
private static readonly System.Object _object3 = new System.Object();
//this method needs to be thread-safe
public static void LogToTextFile(string logMessage, LogLevel logType)
{
//make sure only one thread executes this file writing code at a time
lock (_object3)
{
using (StreamWriter w = File.AppendText(@"c:\logs\log1.txt");
{
w.WriteLine("\r\n{0} logged at {1} {2} : {3}", logType.ToString().ToUpper(), DateTime.Now.ToLongTimeString(), DateTime.Now.ToLongDateString(), logMessage);
}
}
}