1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #include <future>
#include <vector>
std::vector<std::string> fct( std::string const* tb , std::size_t nb ) {
std::vector<std::string> res(nb);
for ( std::size_t i{} ; i < nb ; ++i ) res[i] = tb[i] + "x";
return res;
}
std::string tab[] = { "a", "b", "c", "d", "e", "f" };
std::future<std::vector<std::string>> r1 = std::async( std::launch::async , &fct , tab , 3 );
std::future<std::vector<std::string>> r2 = std::async( std::launch::async , &fct , tab+3 , 3 );
r1.wait(); // attend la disponibilité de la future
r2.wait();
for ( auto const& s : r1.get() ) std::cout << s;
for ( auto const& s : r2.get() ) std::cout << s; |
Partager