std::async() 的两种启动模式,std::launch::async 和 std::launch::deferred。看书上说,deferred 模式下,在当前线程里启动,而且直到 future.get() 时才真正运行任务,并 block 直到任务完成、得到结果。
如果这样,为啥不直接在原来调用 future.get() 的地方直接 do_work() 呢?好像跟上述 deferred 模式下效果是一样的。deferred 还有啥好处吗?
谢谢!
--
FROM 123.120.51.*