Ну я бы делал как-то так:
C++ (Qt)
void dbWord::run()
{
QEventLoop loop;
while(1)
{
...
loop.processEvents();
}
}
Смотри:
bool QEventLoop::processEvents ( ProcessEventsFlags flags = AllEvents )
void QEventLoop::processEvents ( ProcessEventsFlags flags, int maxTime )
enum ProcessEventsFlags
Ну и попробуй это погонять... Мне тоже интересно сколько событий может храниться в очереди.