私は以下のようなクラス構造を持っています
public class Logger
{
StremWriter sw;
public Logger()
{
sw = new streamwriter(tempPath);
}
public StreamWriter StreamLog
{
get { return sw; }
}
}
StreamWriter
2 つの異なるスレッドからオブジェクトにアクセスしようとすると、適切にロックする方法を知りたいです。下図のようなロックでよろしいですか?StreamWriter
または、直接ロックする必要があります
//Log is an instance of Logger that could be accessed from multiple threads
lock (Log) {
Log.StreamLog.WriteLine("temp");
}
編集:これらのログオブジェクトはConcurrentQueue
、さまざまなスレッドがそれらを取得できる場所に移動します