none
C# Разница между Trace.IsThreadSafe и Trace.UseGlobalLock RRS feed

Ответы

  • Слушатель (listener), как правило, реализуется программистом самостоятельно, а потому программист знает, какой этот слушатель (потокобезопасный или нет) и возвращает соответствующее значение свойства IsThreadSafe. Если данное свойство возвращает значение false, то всегда используется глобальная блокировка (независимо от текущего значения свойства Trace.UseGlobalLock).

    Если же программист "забил" в свойство IsThreadSafe значение true, то вопрос о том, будет использоваться глобальная блокировка или нет, полностью определяется текущим значением Trace.UseGlobalLock. true - используется, false - нет.


    Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!

    • Помечено в качестве ответа Энтомолог 28 июня 2015 г. 8:06
    23 июня 2015 г. 8:59

Все ответы

  • Все написано в документации. Эффект будет отличаться в зависимости от текущего значения каждого из этих свойств.

    Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!

    17 июня 2015 г. 13:24
  • Я читал про оба свойства в документации, но ответа на свой вопрос не нашел. Возможно, Вы меня не поняли, но тогда я уточню вопрос.

    Здесь https://msdn.microsoft.com/ru-ru/library/system.diagnostics.tracelistener.isthreadsafe%28v=vs.110%29.aspx я не нашел описания того, что происходит при записи в потокобезопасный трейс.

    Здесь https://msdn.microsoft.com/ru-ru/library/system.diagnostics.trace.usegloballock%28v=vs.110%29.aspx не указано, на каком основании принимается решение о включении свойств UseGlobalLock и IsThreadSafe.

    19 июня 2015 г. 16:29
  • Слушатель (listener), как правило, реализуется программистом самостоятельно, а потому программист знает, какой этот слушатель (потокобезопасный или нет) и возвращает соответствующее значение свойства IsThreadSafe. Если данное свойство возвращает значение false, то всегда используется глобальная блокировка (независимо от текущего значения свойства Trace.UseGlobalLock).

    Если же программист "забил" в свойство IsThreadSafe значение true, то вопрос о том, будет использоваться глобальная блокировка или нет, полностью определяется текущим значением Trace.UseGlobalLock. true - используется, false - нет.


    Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!

    • Помечено в качестве ответа Энтомолог 28 июня 2015 г. 8:06
    23 июня 2015 г. 8:59