Объясните, пожалуйста, почему метод std::thread::join() называется именно так, а не wait(), например. Ведь мы именно ждем поток, а не присоединяем его куда-то.
И почему thread API сделано так:
void func() {
thread t(...);
t.join(); // запускающий поток будет ждать t
}
а не так:
void func() {
thread t(...);
Thread::current().wait(t); // запускающий поток будет ждать t
}