{ Ref<Thread> thread = Thread::create("thread name", [&] { ... }); thread->waitForCompletion(); // Thread object is live. But thread is already finished. } // Thread is destructed. This Thread class is portable. It just works (TM) on macOS, Linux (and UNIX environments including FreeBSD), and Windows. It is important to build advanced features on the top of this Thread abstraction. Thread has one