У меня есть RichTextBox, в котором я веду тяжелую регистрацию сообщений из нескольких потоков.Через некоторое время я впервые получил сообщение «DisconnectedContext был обнаружен», и я удалил исключение взлома из окна Debug-> Exceptions ....Но потом я получил «ContextSwitchDeadlock был обнаружен».Я тоже убрал это, и пользовательский интерфейс вернулся к жизни.Через некоторое время он снова замерз.
Есть ли способ предотвратить это?Или есть компонент, который поддерживает раскраску, изменяя шрифты для визуальной обратной связи в .NET, например RichTextBox, но без этой ошибки?
Обнаружен ContextSwitchDeadlock
Сообщение: CLR не удалось перейти из контекста COM 0x6eb0760 в контекст COM 0x6eb08d0 в течение 60 секунд.Поток, которому принадлежит целевой контекст / квартира, скорее всего, либо делает ожидание без перекачки, либо обрабатывает очень длительную операцию без перекачки сообщений Windows.Эта ситуация, как правило, оказывает негативное влияние на производительность и может даже привести к тому, что приложение перестает отвечать на запросы или использование памяти постоянно увеличивается с течением времени.Чтобы избежать этой проблемы, все потоки однопотоковых квартир (STA) должны использовать примитивы перекачки (такие как CoWaitForMultipleHandles) и регулярно перекачивать сообщения во время длительных операций.