C # Express 2010 Многопоточность - PullRequest
2 голосов
/ 20 августа 2010

У меня есть приложение для Windows, которое я запускаю в c # Express 2008 в течение года и пытаюсь преобразовать его в течение последних нескольких дней до 2010 года. У меня проблема в том, что это многопоточное приложение, которое имеетзапускать серию кода каждую секунду.Он имеет основной поток, который вызывает 3 рабочих потока, ожидает их завершения, затем выполняет дополнительную обработку, спит до 1 секунды и снова запускается.

Проблема в том, что часть кода может вызватьвеб-служба, для ответа которой требуется 8 секунд, поэтому этот фрагмент кода вызывается с помощью ThreadPool.QueueUserWorkItem.Проблема заключается в том, что при запуске в 2010 году, когда эта часть кода вызывается, основной поток продолжает работать, но когда он пробуждает дочерние потоки, он зависает до тех пор, пока не завершится выполнение метода Threadpool.

Это никогда не происходит в 2008 году.предложения?Пока что я поместил этот бит кода в его собственный поток, а не в Threadpool, но с той же проблемой.

1 Ответ

0 голосов
/ 08 января 2011

Я портировал довольно много приложений с VS 08 на 10, когда обновлял свою IDE. Большую часть времени у меня не было проблем, если все значения на вкладке «Свойства» (вы называете это вкладкой) выглядит хорошо.Иногда Visual Studio автоматически исправляет все, что не так, но в других случаях вам нужно войти и отредактировать вручную.

Получаете ли вы какие-либо предупреждения в окне ошибок?

...