Пример #1
0
int main(int argc, char* argv[])
{
   // default configuration filename
   std::string configFilename = "test01.edl";

   // parse arguments
   for (int i = 1; i < argc; i++) {
      if ( std::string(argv[i]) == "-f" ) {
         configFilename = argv[++i];
      }
   }

   // build tester
   Tester* tester = builder(configFilename);

   // create the thread
   TimerThread* thread = createTheThread(tester);
   if (thread != nullptr) {

      // run the test
      run(tester);

      tester->event(oe::base::Component::SHUTDOWN_EVENT);
      tester->unref();
      tester = nullptr;

      // stop the thread
      thread->terminate();
      thread->unref();
      thread = nullptr;
   }

   return 0;
}
Пример #2
0
//------------------------------------------------------------------------------
// createTheThread() -- Create the data acq thread
//------------------------------------------------------------------------------
TimerThread* createTheThread(Tester* const tester)
{
   TimerThread* thread = new TimerThread(tester, THREAD_PRI, THREAD_RATE);

   bool ok = thread->create();
   if (!ok) {
      thread = nullptr;
      std::cerr << "createTheThread(): ERROR, failed to create the thread!" << std::endl;
   }

   return thread;
}
Пример #3
0
int main(int argc, const char *argv[])
{
    TimerThread t;
    t.setTimer(3,1);
    t.setTimerCallback(&func);

    t.startTimerThread();

    sleep(10);
    t.cancelTimerThread();
    return 0;
}
Пример #4
0
int main(int argc, const char *argv[])
{
    TimerThread foo;
    foo.setTimer(3, 1);
    foo.setTimerCallback(&foobar);

    foo.startTimerThread();

    sleep(10);

    foo.cancelTimerThread();
    return 0;
}
Пример #5
0
		void STimer::AddTask( tick_t elapsed_ms, TaskExecute&& executer )
		{
			if(_stop || !executer)
			{
				return;
			}

			auto self = shared_from_this();
			_timer->AddTask( elapsed_ms, [=]
			{
				_mutex.lock();
				if(!self->_stop)
				{
					executer();
				}
				_mutex.unlock();
			} );
		}
Пример #6
0
int main(int argc, char* argv[])
{
    TimerThread tt;
    Timer* t = 0;
#if 1
    tt.addTimer(new Timer(3000, 10));
    tt.addTimer(t = new Timer(4000));
    tt.addTimer(t = new Timer(5000));
    tt.addTimer(t = new Timer(6000));
    tt.addTimer(t = new Timer(7000));
    tt.addTimer(t = new Timer(8000));
    tt.addTimer(t = new Timer(9000));
#endif
#if 0
    tt.addTimer(t = new Timer(2000));
    tt.addTimer(t = new Timer(2000));
    tt.addTimer(t = new Timer(2000));
    tt.addTimer(t = new Timer(2000));
    tt.addTimer(t = new Timer(2000));
    tt.addTimer(t = new Timer(2000));
    tt.addTimer(t = new Timer(2000));
    tt.addTimer(t = new Timer(2000));
    tt.addTimer(t = new Timer(2000));
    tt.addTimer(t = new Timer(2000));
    tt.addTimer(t = new Timer(2000));
    tt.addTimer(t = new Timer(2000));
    tt.addTimer(t = new Timer(2000));
    tt.addTimer(t = new Timer(2000));
    tt.addTimer(t = new Timer(2000));
    tt.addTimer(t = new Timer(2000));
    tt.addTimer(t = new Timer(2000));
    tt.addTimer(t = new Timer(2000));
    tt.addTimer(t = new Timer(2000));
    tt.addTimer(t = new Timer(2000));
    tt.addTimer(t = new Timer(2000));
#endif
    //tt.delTimer(t);
    tt.start();
    tt.join();
	return 0;
}