
Untitled
By: a guest on
Jul 17th, 2012 | syntax:
None | size: 0.62 KB | hits: 14 | expires: Never
Future task of ExecutorService not truly cancelling
ExecutorService taskExecutor = Executors.newCachedThreadPool();
private static Map <String, Future<Object>> results = new HashMap <String, Future<Object>>();
Future<Object> future = taskExecutor.submit(new MyProcessor(uid));
results.put(uid, future);
public static synchronized boolean cancelThread(String uid) {
Future<Object> future = results.get(uid);
boolean success = false;
if (future != null) {
success = (future.isDone() ? true : future.cancel(true));
if (success)
results.remove(uid);
}
return success;
}