Boost logo

Boost :

Subject: [boost] [thread] countdown_latch
From: Michael Marcin (mike.marcin_at_[hidden])
Date: 2013-04-21 04:27:39

I recently ran across the need to spawn a thread and wait for it to
finish its setup before continuing.

The accepted answer seems to be using a mutex and condition variable to
achieve this.

However that work clutters up the code quite a bit with the
implementation details.

I came across Java's CountDownLatch which does basically the same work
but bundles it up into a tidy package.

It seems to be a fairly trivial but useful abstraction.



class widget
         : latch( 1 )
         , thread_( [&]{ thread_func(); } )

     void setup();
     void run();

     void thread_func()


     countdown_latch latch;
     std::thread thread_;

Boost list run by bdawes at, gregod at, cpdaniel at, john at