[concurrency-interest] Executors: Wrapper to cancel tasks in shutdownNow()?

Tim Peierls tim at peierls.net
Wed Apr 14 11:00:30 EDT 2010


Right, sorry. Would something like this do the trick for you?

public class Util {
    private Util() { /* uninstantiable */ }

    public static void shutdownNowCancelingUnstarted(ExecutorService exec) {
        for (Runnable unstarted : exec.shutdownNow()) {
            if (unstarted instanceof RunnableFuture) {
                RunnableFuture<?> task = (RunnableFuture<?>) unstarted;
                task.cancel(false);
            }
        }
    }
}

--tim

On Wed, Apr 14, 2010 at 10:42 AM, Bryan Thompson <bryan at systap.com> wrote:

>  Yes, but threads can already be waiting on their Future's, right? Bryan
>
>  ------------------------------
> *From:* tpeierls at gmail.com [mailto:tpeierls at gmail.com] *On Behalf Of *Tim
> Peierls
> *Sent:* Wednesday, April 14, 2010 10:42 AM
> *To:* Bryan Thompson
> *Cc:* concurrency-interest at cs.oswego.edu
> *Subject:* Re: [concurrency-interest] Executors: Wrapper to cancel tasks
> in shutdownNow()?
>
> The tasks returned by shutdownNow haven't begun execution, so there's no
> need to cancel them.
>
> --tim
>
> On Wed, Apr 14, 2010 at 9:53 AM, Bryan Thompson <bryan at systap.com> wrote:
>
>> Hello,
>>
>> Is there some handy delegation pattern available, such as found on
>> Executors, to wrap an ExecutorService implementation such that
>> ExecutorService#shutdownNow() cancels each task in the returned list?  While
>> this might not always be want people want to do, it does seem to be a very
>> common pattern.
>>
>> Thanks,
>> Bryan
>> _______________________________________________
>> Concurrency-interest mailing list
>> Concurrency-interest at cs.oswego.edu
>> http://cs.oswego.edu/mailman/listinfo/concurrency-interest
>>
>
>
> _______________________________________________
> Concurrency-interest mailing list
> Concurrency-interest at cs.oswego.edu
> http://cs.oswego.edu/mailman/listinfo/concurrency-interest
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cs.oswego.edu/pipermail/concurrency-interest/attachments/20100414/3877c42d/attachment.html>


More information about the Concurrency-interest mailing list