у меня есть программа, я бегу и в середине я получаю это сообщение:Странное сообщение о потоках в C#
Managed DEBUGGING Помощника «ContextSwitchDeadlock» обнаружил проблему в «C: \ Documents и Settings \ Lena G \ Мои документы \ SchoolStuff \ IR Information \ Главная работа \ FianlProject \ finalProject \ finalProject \ bin \ Debug \ finalProject.vshost.exe '. Дополнительная информация: CLR не смог перейти из контекста COM 0x3407968 в контекст COM 0x3407ad8 в течение 60 секунд. Поток, который владеет целевым контекстом/квартирой, скорее всего, либо выполняет ненакачивание, либо обрабатывает очень длительную операцию без перекачки сообщений Windows. Эта ситуация, как правило, имеет отрицательное влияние на производительность и может даже привести к тому, что приложение становится неактивным или память автоматически накапливается с течением времени. Чтобы избежать этой проблемы, все потоки с одной резьбой (STA) должны использовать примитивы ожидания накачки (например, CoWaitForMultipleHandles) и регулярно накачивать сообщения во время длительных операций.
Я понимаю, что он имеет какое-то отношение к тому, что он работает в течение 60 секунд без остановки или что-то в этом роде? Как это проблема? Я также поставил [STAThread] перед основной моей программы, потому что, если я удалить его, то он показывает мне это сообщение:
Необработанное исключение типа «System.Threading.ThreadStateException» произошло в System.Windows.Forms.dll Дополнительная информация: Текущий поток должен быть установлен в режим однопоточной квартиры (STA) до того, как вызовы OLE могут быть сделаны. Убедитесь, что ваша основная функция имеет STAThreadAttribute, отмеченный на нем. Это исключение возникает только в том случае, если к процессу прикреплен отладчик.
Кто-нибудь знает, как я могу решить эту проблему?
Спасибо заранее,
Лена
Если я отключу тупик переключателя контекста, может ли он навредить? Я использую Visual Studio 2008. – 2010-02-08 19:16:08
Ничто не взорвется. У вас может быть тупик. Вы узнаете достаточно быстро, ваша программа замерзнет. –