如果我在一个类中创建一个 std::async 对象,对应的线程会运行多长时间?直到调用包含类(Bar)的析构函数?
class Bar {
public:
Bar() {
handle = std::async(
std::launch::async,
&Bar:foo, this);
}
...
void Foo() {
while (true) {//do stuff//}
}
private:
std::future<void> handle;
};
编辑:
以下示例中的线程运行多长时间:
class Bar {
public:
Bar() : thread(&Bar:foo, this) {
}
...
void Foo() {
while (true) {//do stuff//}
}
private:
std::thread thread;
};