int main() { WorkerThread workerThread; workerThread.start(); int stunde = 8; while(!workerThread.istBeendet()) { boost::this_thread::sleep(boost::posix_time::seconds(1)); cout << ++stunde << " Uhr: "; switch(stunde) { case 10 : workerThread.warten(); break; // Pause case 13 : workerThread.weiter(); break; // Fortsetzung case 16: workerThread.beenden(); break; // Ende default: if(stunde > 16) throw "Fehler!"; } } }