我相当熟悉C++ 11的std::thread,std::async和std::future部件(例如见这个答案),这是直接的.
但是,我不能完全理解std::promise它是什么,它做什么以及在哪种情况下最好使用它.标准文档本身不包含其类概要之外的大量信息,也不仅仅是:: thread.
有人可以给出一个简短,简洁的例子,说明std::promise需要哪种情况以及最惯用的解决方案?
我试图std::thread用一个不带参数和返回的成员函数构造一个void.我无法弄清楚任何有效的语法 - 编译器无论如何都会抱怨.实现的正确方法是什么,spawn()以便返回std::thread执行的test()?
#include <thread>
class blub {
void test() {
}
public:
std::thread spawn() {
return { test };
}
};
Run Code Online (Sandbox Code Playgroud)