คำถามติดแท็ก packaged-task

3
อะไรคือความแตกต่างระหว่าง packaged_task และ async
ในขณะที่ทำงานกับโมเดลเธรดของ C ++ 11 ฉันสังเกตเห็นว่า 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'; และ auto f = std::async(std::launch::async, [](int a, int b) { return a + b; }, 2, 3); std::cout << f.get() << '\n'; ดูเหมือนจะทำในสิ่งเดียวกัน ฉันเข้าใจว่าอาจมีความแตกต่างที่สำคัญถ้าฉันวิ่งไปstd::asyncด้วยstd::launch::deferredแต่ในกรณีนี้มีไหม …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.