Почему может тормозить обработка юзерских действий в Qt-окне во время создания вычислительной нагрузки в другом потоке (запущенном через boost::thread), при наличии 4 свободных ядер (core i5)?
Кутешный цикл обработки событий работает спокойно в своём треде. Общение кутешной морды с вычислительным тредом неблокируемое - т.е. когда морда (GUI1) делает вызовы в вычислительный модуль (M1), то максимум что происходит в этих вызовах - это «закинуть задачу в шедулер и пнуть семафор». Если бы морда блокировалась, т.е. фактически кутешный цикл обработки событий блокировался бы в вызове модуля M1, у меня морда бы зависала наглухо. А она не зависает, а начинает жёстко тормозить.
Подробнее...
У меня есть кутическая морда (GUI1), через несложный интерфейс связанная с другим модулем (M1), в котором через boost::thread запускается поток и выполняет задачу, настроенную в морде, по нажатию кнопки «start» из той же морды. По окончании задачи M1 докладывает об этом морде (GUI1) и морда может, например, разблокироваться или ещё чё-нибудь такое сделать.
M1 слабо связан с GUI1 вообще - делает в морду очень редкие вызовы, типа просьбы вывести текстовую строку.
Что это может быть, какие версии?
Ответ на:
комментарий
от blinkenlichten
Ответ на:
комментарий
от mi_estas
Ответ на:
комментарий
от kiverattes
Ответ на:
комментарий
от kiverattes
Ответ на:
комментарий
от mi_estas
Ответ на:
комментарий
от Dendy
Ответ на:
комментарий
от kiverattes
Ответ на:
комментарий
от kiverattes
Ответ на:
комментарий
от Dendy
Ответ на:
комментарий
от kiverattes
Ответ на:
комментарий
от mi_estas
Ответ на:
комментарий
от kiverattes
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум boost сервер без io_service.run() (2016)
- Форум QT: как организован цикл обработки сообщений? (2015)
- Форум Второй цикл выборки-обработки сообщений (2002)
- Форум Торможение (2007)
- Форум Обработка почтовых сообщений (2002)
- Форум Обработка MIME-сообщений (2005)
- Форум Qt обработка звука (2015)
- Форум [похороникс] Рекорды обработки сообщений (2012)
- Форум Xorg. Обработка сообщений. SIGSEGV (2010)
- Форум Порядок обработки приходящих сообщений (2001)