我读了一篇关于用c++ ()进行并发编程的文章。在本文中,作者展示了一个代码,其中std::异步使用相同的线程运行两个函数。此外,当他使用std::future with std::异步时,它再次以不同的方式运行,并使用独立的线程运行所有函数。为什么异步的行为是那样的,而且它有这种不受控制的方式?另外,如何用这个特性开发一个真正的并发程序?这有可能吗,还是我该错过了?
我了解了为什么从future返回的std::async具有某种特殊的共享状态,通过这种状态,wait on returned future在将来的析构函数中发生。但是当我们使用std::pakaged_task时,它的未来并不会表现出相同的行为。要完成打包的任务,必须从get()中显式地调用future对象上<