我有一个类结构如下
public class Logger
{
StremWriter sw;
public Logger()
{
sw = new streamwriter(tempPath);
}
public StreamWriter StreamLog
{
get { return sw; }
}
}
我想知道如果我尝试StreamWriter
从两个不同的线程访问对象,如何正确锁定。如下所示的锁定是否可以接受?StreamWriter
或者我应该直接锁定
//Log is an instance of Logger that could be accessed from multiple threads
lock (Log) {
Log.StreamLog.WriteLine("temp");
}
编辑:这些日志对象将进入ConcurrentQueue
不同线程可以检索它们的位置