Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #21400

Re: Threads, waiting for last one to finish

From Daniel Pitts <newsgroup.nospam@virtualinfinity.net>
Newsgroups comp.lang.java.programmer
Subject Re: Threads, waiting for last one to finish
References <oe21f8d1h1d357bljli7009crmaf3kmag9@4ax.com> <kcq2ap$m4o$1@dont-email.me> <50f264aa$0$80119$742ec2ed@news.sonic.net> <50f37d14$0$293$14726298@news.sunsite.dk>
Message-ID <V%WIs.83648$lw2.48212@newsfe30.iad> (permalink)
Date 2013-01-14 09:12 -0800

Show all headers | View raw


On 1/13/13 7:35 PM, Arne Vajhøj wrote:
> On 1/13/2013 2:39 AM, Kevin McMurtrie wrote:
>> In article <kcq2ap$m4o$1@dont-email.me>,
>>   markspace <markspace@nospam.nospam> wrote:
>>> On 1/11/2013 1:56 PM, Roedy Green wrote:
>>>> I have 25 threads that start at once. I need to wait until the last
>>>> one completes. Is there a better way to handle that than using a
>>>> ThreadPoolExecutor which seems overkill.
>>>>
>>>
>>> The Executors class has convenience methods to make thread pools easier
>>> to use.
>>>
>>>     ExecutorService es = Executors.newFixedThreadPool( 25 );
>>>     // submit jobs here
>>>     es.shutdown();
>>>
>>> The shutdown() will wait for all jobs to finish.  I don't think you can
>>> get easier than that.  It's two lines of code!
>>
>> The Executor classes are horribly buggy.  Pool size adjustment, idle
>> timeouts, and shutdown sequences do NOT work.  Some of the features are
>> impossible to implement efficiently so Sun instead chose to implement
>> them incorrectly.
>>
>> For an Executor, it would be more correct to iterate through all the
>> Future or Callable objects returned and ask for their result.
>
>
> Can you be more specific about when shutdown and await does
> not work?
>
> Arne
>
>
I am also interested. However, I will say that I would have used the 
ExecutorService and simply used the Future objects to wait for 
completion of all tasks. This has the added benefit that you can 
actually process the results of the Callables in a single thread, rather 
than have them try to update some shared data structure.  Using the 
Future result is inherently easier to get correct.

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Threads, waiting for last one to finish Roedy Green <see_website@mindprod.com.invalid> - 2013-01-11 13:56 -0800
  Re: Threads, waiting for last one to finish markspace <markspace@nospam.nospam> - 2013-01-11 14:05 -0800
    Re: Threads, waiting for last one to finish Roedy Green <see_website@mindprod.com.invalid> - 2013-01-11 14:14 -0800
      Re: Threads, waiting for last one to finish markspace <markspace@nospam.nospam> - 2013-01-11 15:11 -0800
        Re: Threads, waiting for last one to finish Arne Vajhøj <arne@vajhoej.dk> - 2013-01-11 20:02 -0500
        Re: Threads, waiting for last one to finish Roedy Green <see_website@mindprod.com.invalid> - 2013-01-12 01:51 -0800
        Re: Threads, waiting for last one to finish Roedy Green <see_website@mindprod.com.invalid> - 2013-01-12 02:20 -0800
          Re: Threads, waiting for last one to finish Arne Vajhøj <arne@vajhoej.dk> - 2013-01-12 09:08 -0500
        Re: Threads, waiting for last one to finish Roedy Green <see_website@mindprod.com.invalid> - 2013-01-12 10:36 -0800
          Re: Threads, waiting for last one to finish Arne Vajhøj <arne@vajhoej.dk> - 2013-01-12 16:17 -0500
    Re: Threads, waiting for last one to finish Kevin McMurtrie <mcmurtrie@pixelmemory.us> - 2013-01-12 23:39 -0800
      Re: Threads, waiting for last one to finish Arne Vajhøj <arne@vajhoej.dk> - 2013-01-13 22:35 -0500
        Re: Threads, waiting for last one to finish Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2013-01-14 09:12 -0800
        Re: Threads, waiting for last one to finish Kevin McMurtrie <mcmurtrie@pixelmemory.us> - 2013-01-14 22:29 -0800
          Re: Threads, waiting for last one to finish markspace <markspace@nospam.nospam> - 2013-01-15 08:19 -0800
            Re: Threads, waiting for last one to finish Kevin McMurtrie <mcmurtrie@pixelmemory.us> - 2013-01-16 01:28 -0800
              Re: Threads, waiting for last one to finish Robert Klemme <shortcutter@googlemail.com> - 2013-01-20 15:21 +0100
            Re: Threads, waiting for last one to finish Kevin McMurtrie <mcmurtrie@pixelmemory.us> - 2013-01-18 21:58 -0800
      Re: Threads, waiting for last one to finish Robert Klemme <shortcutter@googlemail.com> - 2013-01-26 17:20 +0100
  Re: Threads, waiting for last one to finish Knute Johnson <nospam@knutejohnson.com> - 2013-01-11 21:19 -0800
    Re: Threads, waiting for last one to finish Robert Klemme <shortcutter@googlemail.com> - 2013-01-13 19:38 +0100
      Re: Threads, waiting for last one to finish Knute Johnson <nospam@knutejohnson.com> - 2013-01-14 08:58 -0800
      Re: Threads, waiting for last one to finish Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-01-15 05:05 -0400
  Re: Threads, waiting for last one to finish Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-01-12 08:42 -0400
    Re: Threads, waiting for last one to finish Roedy Green <see_website@mindprod.com.invalid> - 2013-01-12 23:56 -0800
      Re: Threads, waiting for last one to finish Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-01-13 10:53 -0400
        Re: Threads, waiting for last one to finish Roedy Green <see_website@mindprod.com.invalid> - 2013-01-13 19:18 -0800
          Re: Threads, waiting for last one to finish Arne Vajhøj <arne@vajhoej.dk> - 2013-01-13 22:26 -0500
            Re: Threads, waiting for last one to finish Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-01-14 05:51 -0400
              Re: Threads, waiting for last one to finish Arne Vajhøj <arne@vajhoej.dk> - 2013-01-14 19:02 -0500
        Re: Threads, waiting for last one to finish Roedy Green <see_website@mindprod.com.invalid> - 2013-01-13 19:43 -0800
  Re: Threads, waiting for last one to finish Sebastian <news@seyweiler.dyndns.org> - 2013-01-13 15:19 +0100

csiph-web