The parent of a thread has to take care of their 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 taken care of its child.