msdn:「此類型的任何公共靜態(在Visual Basic中爲Shared)成員都是線程安全的,但不保證所有實例成員都是線程安全的。它只包含實例方法。多線程應用程序中的C#TraceSource類
我應該如何使用它,以便所有活動都通過TextWriterTraceListener將記錄器記錄到文本文件中。是所有線程使用(通過調用)TraceEvent方法安全的一個靜態成員。
(我在how to instantiate C# TraceSources to log (multithreaded) ASP.NET 2.0 Web application (asmx ws)?中問過這個問題,但我不能相信是否有人只是說盡管有文檔就可以)。
是或監視器類。但mys的問題是:有一個靜態的TraceSource實例並使用它的TraceEnvent方法是否安全?請參閱http://social.msdn.microsoft.com/forums/en-US/netfxbcl/thread/93696038-2255-4d7c-a53a-b0b1bcdd2fc2。 – 2009-12-15 17:23:45
我明白了。我進一步闡述了我的答案。希望能幫助到你。 – 2009-12-15 17:34:52
在TraceSource的情況下,'線程不安全'可能是因爲TraceListener不是線程安全的。這就是TraceInternal.UseGlobalLock的原因。我想知道的是:如果TraceListener.IsThreadSafe像TextWriterTraceListener的返回false這個全局鎖是否足夠?出於性能原因,我不想進行雙重鎖定。請參閱http://www.grimes.demon.co.uk/workshops/InstrWSThree.htm – 2009-12-15 17:47:39