Boost logo

Boost :

Subject: Re: [boost] [thread] countdown_latch
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2013-05-21 01:13:50


Le 20/05/13 22:09, Gaetano Mendola a écrit :
> On 27/04/2013 09.05, Vicente J. Botet Escriba wrote:
>> Le 22/04/13 10:16, Michael Marcin a écrit :
>>> On 4/21/2013 11:30 PM, Vicente J. Botet Escriba wrote:
>>>
>> Hi,
>>> Back on topic of latches and barriers.
>>> I was reading up on Java's CyclicBarrier and found its await return
>>> value pretty interesting and probably fairly free to implement.
>>>
>>> "...each invocation of await() returns the arrival index of that
>>> thread at the barrier."
>>>
>>> "the arrival index of the current thread, where index getParties() - 1
>>> indicates the first to arrive and zero indicates the last to arrive."
>>>
>>> To do this in boost::thread::barrier you would just have to cache
>>> m_count right after the decrement and return it instead of the current
>>> true/false.
>>>
>>>
>>
>> Yes, boost::barrier return true for the last wait. The change would be
>> quite simple, but what would be he utility of such an index?
>>
>> I have implemented a first prototype of a latch class that could be used
>> also as a barrier. I don't know if the name is the good one then.
>> I have also implemented a completion_latch class that is able to call a
>> function when the counter reaches zero. I'm not satisfied with the
>> current implementation as it needs a lot of synchronization.
>>
>> The change set is https://svn.boost.org/trac/boost/changeset/84055. To
>> see the sources, you would need to update the trunk or to take a look at
>> https://svn.boost.org/svn/boost/trunk/boost/thread/
>>
>> Please let me know what do you think.
>
> What's the plan for this countdown_latch is it candidate to be included
> in version 1.54 ?
>
>
No, documentation and tests are missing. I hope it will be ready for
1.55. This and other addition will be experimental and its interface
will be subject to some changes.
E.g. I have not decided yet how to provide cyclic latches.

Best,
Vicente


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk