18 #ifndef _DECAF_UTIL_CONCURRENT_EXECUTORSERVICE_H_
19 #define _DECAF_UTIL_CONCURRENT_EXECUTORSERVICE_H_
33 namespace concurrent {
76 virtual bool awaitTermination(
long long timeout,
const TimeUnit& unit) = 0;
83 virtual void shutdown() = 0;
102 virtual bool isShutdown()
const = 0;
109 virtual bool isTerminated()
const = 0;
142 this->doSubmit(newTask.
get());
147 return proxy.release();
151 ex.
setMark(__FILE__, __LINE__);
190 this->doSubmit(newTask.
get());
195 return proxy.release();
199 ex.
setMark(__FILE__, __LINE__);
236 this->doSubmit(newTask.
get());
241 return proxy.release();
245 ex.
setMark(__FILE__, __LINE__);
263 virtual void doSubmit(
FutureType* future) = 0;