Files
epics-base/src/libCom/test/epicsTimerExample.cpp
2002-03-12 15:59:40 +00:00

34 lines
821 B
C++

#include <stdio.h>
#include "epicsTimer.h"
class something : public epicsTimerNotify {
public:
something(const char* nm,epicsTimerQueueActive &queue)
: name(nm), timer(queue.createTimer()) {}
virtual ~something() { timer.destroy();}
void start(double delay) {timer.start(*this,delay);}
virtual expireStatus expire(const epicsTime & currentTime) {
printf("%s\n",name);
currentTime.show(1);
return(noRestart);
}
private:
const char* name;
epicsTimer &timer;
};
void epicsTimerExample()
{
epicsTimerQueueActive &queue = epicsTimerQueueActive::allocate(true);
{
something first("first",queue);
something second("second",queue);
first.start(1.0);
second.start(1.5);
epicsThreadSleep(2.0);
}
queue.release();
}