Why are the artists not in Concurrency TS and in the std :: future interface?

The interface std::future::thenin document N3784 included an overloaded version that took the artist (in more detail here in N3562 ) as a parameter. Therefore, if you want more control over which thread has been executed, you can do this.

But the official document describing all the functions found in concurrency TS here http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0159r0.html#futures.unique_future does not include this overload for .then () and does not mention artists at all. It says:

When the state of the general state of the object is ready, the continuation INVOKE(DECAY_COPY(std::forward<F>(func))is std::move(*this))called in an unspecified thread of execution with a call DECAY_COPY(), which is calculated in the thread that then called.

Why doesn't the interface offer precise control over how the closure is done? How then can you control which thread makes the callback? Why change from the proposed version?

Note I'm not sure if the concurrency TS tag I am associated with is the last, but cppreference does not mention executoranywhere either

Edit If someone has a link or reason in some C ++ standard documents that mention the reason not to continue with the performers, that would be great!

+4
1

?

TSes , , , , . - , , .

, , , TS .

, ?

, , . , , , , , then_execute, -, .

+2

Source: https://habr.com/ru/post/1677936/


All Articles