36 ThreadedTaskExecutor::ThreadedTaskExecutor() {
39 ThreadedTaskExecutor::~ThreadedTaskExecutor() {
42 void ThreadedTaskExecutor::schedule(
TaskPtr t) {
46 void ThreadedTaskExecutor::schedule(
TaskPtr t,
47 const boost::uint64_t& delayMus) {
48 if (t->isCancelRequested()) {
49 throw std::invalid_argument(
"Task already canceled.");
51 boost::thread taskThread(
52 boost::bind(ThreadedTaskExecutor::executeTask, t, delayMus));
58 void ThreadedTaskExecutor::executeTask(
TaskPtr task,
59 const boost::uint64_t& delayMus) {
61 boost::this_thread::sleep(boost::posix_time::microseconds(delayMus));
boost::shared_ptr< Task > TaskPtr