[c++11] std::async std::packaged_task std::promise and std::future notes2018-09-30·1397 字·3 分钟工程 Async C++ Cpp Modern Cpp Future Packaged_task Promise把 std::async、std::packaged_task、std::promise 三个放在一起来说,是因为它们都可以返回一个 std::future 对象。简单来说,当某个线程需要等待一个特定的一次性事件(one-off event),它可以用一个 “future” 来表示这个事件。
[C++11] promise && future leanrning notes2018-08-23·322 字·1 分钟工程 C++ Cpp Modern Cpp Future Promise用人话就是,主线程传给附属线程一个promise Object,然后主线程想要获取附属线程set给promise Object的值(也就是该线程返回的某个结果),需要通过主线程中的promise object 得到对应的future object(每个promise 对应一个 future),然后调用future 的get方法。如果附属线程没有执行作为参数传入的promise的set方法去返回结果,那么程序就会block住。