Russian Qt Forum
Ноябрь 23, 2024, 21:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QThread - TaskManager показывает 99% загрузки  (Прочитано 4173 раз)
Demonn
Гость
« : Ноябрь 29, 2005, 16:00 »

Добрый день!
Программа использует наследника QThread для получения event'ов от PosgtreSQL. При этом загрузка процессора в TaskManager'е показвается 99%. Пробовал в теле потока вызывать QApplication::eventLoop()->processEvents(QEventLoop::ExcludeUserInput) - не помогает. Что делаю не так?

Вот код метода run():
Код:
void dbEventsThread::run() {
  done = false;
  int socket = PQsocket(fConnection->connection);

  while (!done) {
    PQconsumeInput(fConnection->connection);
    while ((fNotify = PQnotifies(fConnection->connection)) != NULL) {
      sendEvent(fNotify->relname);
      PQfreemem(fNotify);
    }

    QApplication::eventLoop()->processEvents(QEventLoop::ExcludeUserInput);
  }
}

P.S. QT 3.3.3 + VC++ 6.0
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #1 : Ноябрь 29, 2005, 16:55 »

добавь в конец цикла sleep(1)
поможет
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Demonn
Гость
« Ответ #2 : Ноябрь 29, 2005, 17:01 »

> Racheengel
Спасибо!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.09 секунд. Запросов: 23.