Есть ли какая-то причина, по которой многопоточное приложение будет зацикливаться вечно, когда экран win7 заблокирован? - PullRequest
0 голосов
/ 30 марта 2012

Я работаю над приложением, которое использует несколько потоков для обработки своих данных.Приложение разработано на C ++ (Intel C ++ comp. 9.1) и использует OpenMP.Это 64-битное приложение, работающее на Win7.

Проблема в том, что когда я запускаю его днем, оно работает правильно.Но когда я запускаю его ночью после экран был заблокирован, после нескольких процессов он входит в цикл навсегда.

Точнее, приложение вызывается много раз для разныхфайлы для обработки.Вызовы выполняются в пакетном файле (без проблем).

Я обнаружил, что он входит в цикл навсегда примерно через 2 часа после появления экрана блокировки.

Я отключил все настройки энергосбережения.Но ничего не изменилось.

Это не очень понятно как описание, но причина в том, что я не имею понятия об источнике проблемы.Я просто надеюсь, что кто-то из вас мог иметь такую ​​же проблему (и нашел решение!). Если вам нужны подробности, просто дайте мне знать.

Есть идеи?Заранее спасибо!


Когда мои тесты продолжаются, я установил ту же настройку (но в выпуске, а не в отладочной версии) на другом компьютере.Я столкнулся с той же проблемой через 20 минут (после блокировки экрана) с другим набором данных.Я запустил те же данные на своем компьютере (который не заблокирован), и все было хорошо.

Я озадачен !

1 Ответ

0 голосов
/ 30 марта 2012

Даете ли вы приоритет потока, который берет на себя управление приложением?

Кроме того, я бы предложил выполнить его через какое-то профилирование, например VTune , так как оно может указать на потенциальные нечетные случаи, которые могут вызывать проблемы для вас. (Есть бесплатная оценка, которую вы можете попробовать).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...