Ожидание чтения и сокращение загрузки процессора. |
Здравствуйте, гость ( Вход | Регистрация )
Ожидание чтения и сокращение загрузки процессора. |
dasV |
13.3.2009, 17:47
Сообщение
#1
|
Студент Группа: Участник Сообщений: 19 Регистрация: 2.2.2009 Пользователь №: 522 Спасибо сказали: 0 раз(а) Репутация: 0 |
Добрый день уважаемые. Я новичок в qt да и в c++ поэтому бейте меня и посылайте на RTFM.
Есть Вот такой код
Так вот он создает нагрузку на процессор, а если ожидание затягивается, то и вовсе становится неприятно что я такой вот пожиратель тактов. Можно ли справить ситуацию?? Сразу оговорюсь что программа консольная и в ней нет Q_OBJECT с вызовом QTimer::timeout () Да еще вопрос, к месту ли тут QCoreApplication::processEvents()??? С уважением |
|
|
igor_bogomolov |
27.3.2009, 0:44
Сообщение
#2
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
|
|
|
igor_bogomolov |
27.3.2009, 1:18
Сообщение
#3
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
И еще. Сигнал readyRead () испускается каждый раз, как доступны новые данные для чтения. Увырены ли Вы, делая socket.readAll() , что все данные которые Вы ожидаете доступны для чтения. Лучьше всегда делать проверку, например функцией bytesAvailable () или canReadLine ().
Цитата qint64 QAbstractSocket::bytesAvailable () const [virtual] Возвращает число присланных байт, которые ждут прочтения. Цитата bool QAbstractSocket::canReadLine () const [virtual]
Возвращает true, если строка данных может быть прочитана из сокета; в противном случает возвращает false. |
|
|
Текстовая версия | Сейчас: 29.11.2024, 18:30 |