Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #21379
| From | Arved Sandstrom <asandstrom2@eastlink.ca> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Threads, waiting for last one to finish |
| References | <oe21f8d1h1d357bljli7009crmaf3kmag9@4ax.com> <9TcIs.35775$tK1.985@newsfe07.iad> <afp4f896lcn7ltgi5djo47l81e080di5bv@4ax.com> |
| Message-ID | <bUzIs.50596$On7.39770@newsfe16.iad> (permalink) |
| Organization | Public Usenet Newsgroup Access |
| Date | 2013-01-13 10:53 -0400 |
On 01/13/2013 03:56 AM, Roedy Green wrote: > On Sat, 12 Jan 2013 08:42:45 -0400, Arved Sandstrom > <asandstrom2@eastlink.ca> wrote, quoted or indirectly quoted someone > who said : > >> Any reason why you couldn't use CyclicBarrier? > > There are a few things that puzzle. What goes in the unshown > waitUntilDone? just an await? I suppose the mother thread too counts > as one of the "parties". > > Why does CyclicBarrier have a Runnable? Would it not be simpler to > have the mother thread invoke a Runnable after the await? or just > execute the cleanup code on the same thread? > > With CyclicBarrier, you must know the precise number of threads ahead > of time that will wait. In my case I have an upper bound. Sometimes > there is nothing to do for a given thread, and I don't even start it. > To use CyclicBarrier I would need a pre-sweep to get the precise > count. > > In my case, one of the threads, the one that probes amazon.cn takes > quite a bit longer than the others. The way it is now, all the > threads but one shut down early and let the last thread have all the > resources. With CyclicBarrier they would all be hanging around to the > last minute. > > Thank you for bringing this option up. I tend use to overuse the first > tool I encounter out of learning curve fear. > It's this option and also its close cousin the CountdownLatch - useful synchronization constructs to be aware of. I'll refer you to JCIP for a detailed exposition of the details between CountdownLatch and CyclicBarrier - the key difference is that the latch is waiting for an event (the latch count becoming 0 through invocations of countDown()) while the barrier waits on other threads (these threads arriving at the barrier when they call await()). In either case, yes, you need to supply the number of threads involved. That's to be expected. I have difficulty seeing how you wouldn't be able to figure out how many threads you propose to start. As for the Runnable for CyclicBarrier, you want to read the Javadoc carefully. The barrier is going to run that *after* all threads arrive, but *before* they are released - you're welcome to try and implement that yourself. As for threads taking different times, and "hanging around", I don't see the problem. If each individual thread does resource cleanup - like connections - before calling await(), what is the issue with a thread doing basically nothing? AHS
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll 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