Quelle est la différence entre packaged_task et async

En travaillant avec le modèle threadé de C ++ 11, j'ai remarqué que std::packaged_task<int(int,int)> task([](int a, int b) { return a + b; }); auto f = task.get_future(); task(2,3); std::cout << f.get() << '\n'; et auto f = std::async(std::launch::async, [](int a, int b) { return...