我正在使用VS2013。
我剛剛讀了this,發現未來應該在其析構函數中封鎖。
爲什麼std :: future不會阻止
我試了一些代碼,但std::future
沒有阻止。
void PrintFoo()
{
while (true)
{
std::cout << "Foo" << std::endl;
Sleep(1000);
}
}
int _tmain(int argc, _TCHAR* argv[])
{
{
auto f = std::async(std::launch::async, PrintFoo);
}
while (true)
{
Sleep(1000);
std::cout << "Waiting" << std::endl;
}
std::cout << "Before application end" << std::endl;
return 0;
}
我有輸出:
Foo
Waiting
Foo
Waiting
我誤解的東西嗎?
VS2017不會重現此行爲。正如預期的那樣,它只是不斷打印'Foo'。 – AnT