Boost logo

Boost :

Subject: Re: [boost] Executor associated to the future continuations (was [thread] boost::future::then)
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2015-10-13 13:33:29


Le 13/10/15 10:34, Vladimir Prus a écrit :
> On 11-Oct-15 9:30 PM, Vicente J. Botet Escriba wrote:
>> Le 10/10/15 16:58, Vicente J. Botet Escriba a écrit :
>>> Le 10/10/15 15:26, Vicente J. Botet Escriba a écrit :
>>>> Le 10/10/15 07:57, Vladimir Prus a écrit :
>>>>>
>>>>> So, the function must be executed in different thread from all the
>>>>> continuations,
>>>>> and it would seem I'd need to something set executor on promise
>>>>> for that to work?
>>>>>
>>>>
>>>> I will see how adding an Executor parameter to promise,
>>>> packaged_task constructors and
>>>> make_ready_future/make_exceptional_future could be implemented if
>>>> this will solve your use case.
>>>>
>>> I've create https://svn.boost.org/trac/boost/ticket/11717 to track
>>> this feature request
>>>
>>>
>> This commit contains a fix for this issue as well as the addition of
>> the VERY-EXPERIMENTAL promise::set_executor and
>> packaged_task::set_executor. These should be replaced by constructors
>> having an executor as parameter.
>>
>> https://github.com/boostorg/thread/commit/b8db8fef8b28414d16c66761badc1c6fcadfc38f
>>
>
> Vicente,
>
> thanks for the addition. I'll take a look at implementing Qt-friendly
> future on top of this, and report
> how it goes.
>
> Thanks,
> Volodya
>
You are welcome.

Note that I've not implemented the constructors as it need to change the
hierarchy of classes, but promise::set_executor and
packaged_task::set_executor which is more expensive as I need to
type-erase the executor.

Any feedback would be much appreciated.

Vicente


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