18 #ifndef _DECAF_UTIL_CONCURRENT_EXECUTORS_H_
19 #define _DECAF_UTIL_CONCURRENT_EXECUTORS_H_
31 namespace concurrent {
34 class ExecutorService;
65 RunnableAdapter(
const RunnableAdapter&);
66 RunnableAdapter operator= (
const RunnableAdapter&);
74 virtual ~RunnableAdapter() {
211 "The Runnable task argument cannot be NULL");
214 return new RunnableAdapter<E>(task, owns, E());
237 "The Runnable task argument cannot be NULL");
240 return new RunnableAdapter<E>(task, owns, result);
245 static void initialize();
246 static void shutdown();