【发布时间】:2010-10-17 19:09:49
【问题描述】:
我目前正在尝试编写一个线程安全的记录器类。我对这方面的正确设计和最佳实践不是很熟悉。我的代码有缺陷吗?
public class WriteStuff
{
private readonly StreamWriter m_Writer;
private readonly object m_WriteLock = new object ();
public WriteStuff(String path)
{
m_Writer = File.CreateText (path);
m_Writer.WriteLine ("x");
m_Writer.Flush ();
}
public void ListenTo(Foo foo)
{
foo.SomeEvent += new EventHandler<SomeArgs> (Foo_Update);
}
private void Foo_Update(object sender, SomeArgs args)
{
lock (m_WriteLock) {
m_Writer.WriteLine (args);
m_Writer.Flush ();
}
}
}
【问题讨论】:
标签: c# multithreading logging locking