Свой вариант прилагаю, насчет загрузки - много зависит от платформы/железа, проще откомпилить и посмотреть
У меня при запуске твоего исходника всегда обрабатывается последний (
один!) объект, а не все!
В методе
void CTestObject::Test( bool doPrint ) всегда выводится индекс последнего созданного объекта!
...
qDebug() << "object" << mIndex << "hit" << mNumHit << "interval" << theLastTime.msecsTo(tm);
...
Это будет если сделать так к примеру:
...
#define NUM_TEST_OBJECT (1 * 3)
...
...
tm = CUR_TIME.addMSecs(1000);
...
т.е. я хочу к примеру получать таймаут в 1 сек из трех объектов.