У меня есть пользовательский TraceListener и два потока. Сообщения трассировки поступают только из первого потока, а сообщения Trace.Write () второго потока не проходят. Я попытался использовать один глобальный TraceListener, к которому имеют доступ оба потока, но второй поток все еще не выдает никаких результатов.
Как мне реализовать это так, чтобы оба потока записывали в один и тот же вывод Trace? Если слушатель трассировки использует блокировку соответствующим образом, возможно ли это сделать?
void Initialize()
{
Trace.Listeners.Add(App.CustomTraceListener);
Trace.Write("test?"); // this produces output
var start = new ThreadStart(Run);
var thread = new Thread(start);
thread.Start();
}
void Run()
{
while(true)
{
Thread.Sleep(1000);
Trace.Write("hello from second thread"); // this does not produce anything
}
}