The parent of a thread has to take care of its child. The parent can wait, until its child is done or detach itself from its child. But that is not really new. But that will not hold for std::async. The big charm of std::async is, that the parent has not take to care of its child.