$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] [c++std-parallel-2019] We need a coherent higher level parallelization story for C++ (was [thread] Is there a non-blocking future-destructor?)
From: Peter Dimov (pdimov_at_[hidden])
Date: 2015-10-14 10:54:03
Hartmut Kaiser wrote:
> FWIW, the design decision to let those (and only those) futures block on 
> destruction which are returned from async was one of the really bad 
> decisions made for C++11, however that's just my opinion (others agree, 
> but yet others disagree).
I agree completely. The correct thing to do would have been to introduce a 
separate class, I'll call it barrier here, although this is perhaps not 
ideal, which takes care of lifetime issues by blocking in its destructor, 
like this:
    X x;
    Y y;
    barrier b;
    auto f1 = async( b, [&]{ x.f( y, 1 ); } );
    auto f2 = async( b, [&]{ x.f( y, 2 ); } );