Безопасно ли просто установить CheckForIllegalCrossThreadCalls в false, чтобы избежать ошибок многопоточности во время отладки?

В приложениях WinForms безопасно просто установитьCheckForIllegalCrossThreadCalls ЛОЖНО, чтобы избежать ошибок многопоточности во время отладки?

CheckForIllegalCrossThreadCalls = false;
 Roman Ratskey12 нояб. 2012 г., 15:08
: D я просто хочу знать последствия не исправления кода
 harold12 нояб. 2012 г., 15:42
Вы'не избегать ошибок многопоточности, просто их обнаружение.
 AStopher15 авг. 2016 г., 12:41
@orange Обратите внимание, что тег C # неЭто касается вопроса .NET с Winforms, а не C #. Синтаксис неЭто не имеет значения, и единственная разница между VB.NET и C # (оба .NET) заключается в точке с запятой. Поскольку вопрос относится к обоим языкам, и вы сохранили тег C #, вы также можете добавить тег VB.NET ...
 Matthew Watson12 нояб. 2012 г., 15:08
Вы можете подумать, что можете сойти с рук, но просто прикусите пулю и ИСПРАВИТЕ ЧЕРТОВЫЙ КОД. ;)

Ответы на вопрос(1)

Решение Вопроса

Нет, этоне безопасно. Код Winforms, который проверяет наличие ошибок потоковочень важно, что проблема, которая вызывает, чрезвычайно трудно диагностировать. Самая большая проблема в том, что это неНе вызывая постоянных сбоев, ваше приложение будет работать неправильно в случайном порядке и зависать или падать только один раз в месяц. Или никогда, пока вы не внесете незначительные изменения. Или только на конкретного пользователямашина, тыобвиню пользователя вместо вашего кода.

Единственная причина, по которой свойство CheckForIllegalCrossThreadCalls существует в первую очередь, заключается в том, чтобы поддерживать совместимость .NET 2.0 и выше с ошибочными программами .NET 1.x, в которых этот тест безопасности потоков не проводился. Обратная совместимость для ошибок ;-P

 wal15 июл. 2016 г., 04:58
Похоже, Гансу было бы неплохо явно установить для этого свойства значение true, иначе оно будет взорвано только при локальном тестировании (так как изначально ему присвоено значение)Debugger.IsAttached
 Hans Passant15 июл. 2016 г., 11:08
Это нормально, но ваша сборка релиза должна работать как можно быстрее.

Ваш ответ на вопрос