visual-c++,visual-studio-2012,mfc,windows-8.1,ppl
Hans Passant is right on 100%. VC++ CRT 2012/2013 is initialize WinRT in PPL lib! And to do it on Windows 8 and later. For what it to do in desktop app I dont know, but now all PPL tasks have pre initialized COM in multithreading mode. So, if you...
c++,threadpool,system.reactive,ppl
Yes, the generated docs are new and the scheduling is not yet documented. The scheduler in rxcpp v2 is based on the scheduler and worker constructs that RxJava uses (Eric Meijer was involved) The docs for RxJava will have an explanation for scheduler and worker. rxcpp adds schedulable, coordination and...
visual-c++,concurrency,task,c++-cx,ppl
The documentation makes it clear that the cases they are concerned about are ones where one task in a continuation chain assigns to a variable, and another task reads that variable (Emphasis is mine.) This is not a question of object lifetime, but rather a question of object identity. Take...
The short answer to your question is "No." The default PPL scheduler and resource manager will only use process-local information to decide when to create/destroy threads. As stated in the Patterns and Practices article on MSDN: The resource manager is a singleton that works across one process. It does not...
Task groups will work. Failing that: template<class...Ts> struct get_many{ std::tuple<task<Ts>...> tasks; template<class T0, size_t...Is> std::tuple<T0,Ts...> operator()( std::task<T0> t0, std::index_sequence<Is...> ){ return std::make_tuple( t0.get(), std::get<Is>(tasks).get()... ); } template<class T0> std::tuple<T0,Ts...> operator()(task<T0> t0){ return (*this)( std::move(t0), std::index_sequence_for<Ts...>{} ); } }; template<class T0, class...Ts>...
multithreading,concurrency,scheduler,priority,ppl
The task constructor (and create_task function) can take a task_options parameter with a custom scheduler. https://msdn.microsoft.com/en-us/library/dn237306.aspx...