[concurrency-interest] cancel method on Future API. Design rationale
joe.bowbeer at gmail.com
Sat Apr 25 11:29:36 EDT 2009
The Future in j.u.c. is conceived as a promise to provide a value. The
cancel method notifies it that there is no longer any interest in the value.
In practice, the Future is a handle for a runnable task submitted to an
executor. Future is usually an instance of FutureTask, and in practice the
cancel method means "stop the task". The mayInterrupt flag is a bit of
pragmatism leaking through, since effective cancellation may or may not
require that the running thread be interrupted.
I don't think of a Future as an Active Object. I think of it as a two-way
message sent to an ActiveObject; cancel cancels the reply.
On Sat, Apr 25, 2009 at 4:58 AM, Unmesh joshi wrote:
> Future class in util.concurrent has cancel method. Generally when designing
> Active Objects, what is the design rationale behind having a Cancel
> operation? In particular, because there is no guaranty that the task will
> actually cancelled (in case its completed)
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Concurrency-interest