Если вы используете Boost, вы можете использовать функцию Boost Timer для регистрации обратных вызовов, которые периодически вызываются.
Посмотрите здесь :
Вы также можете использовать функции таймера, предоставляемые каждой платформой, но это будет непереносимо. Кроме того, вы не упомянули какой-либо конкретной платформы от.
РЕДАКТИРОВАТЬ: Поскольку вы используете Mac OS X, возможно, вы можете использовать это
Хотя я не использовал его, просто быстрый поиск в Google показывает, что он не будет работать для Linux, потому что он должен зависеть от платформы.