The simplest event-loop system out there for widespread public use, is the glib event-loop of libglib. Gtk2 is based on it. Your best bet is to use a glib event loop, to launch your callback on a regular schedule, and have the ability to do other things at the same time. See
Roll your own Event-loop and
Readkey with timer using Glib.