void run(){ setup(); launch_subthreads(nthreads); validate(); }
void launch_subthreads(int remaining) { if (!remaining) return; stdx::thread athread(stdx::bind(&ThreadedTest::subthread, this, remaining)); launch_subthreads(remaining - 1); athread.join(); }