#include <iostream>
#include <thread>
void do_work(int i) {
std::cout << i << "\n";
};
int main() {
std::vector<std::thread> threads;
for (unsigned i = 0; i < 20; ++i)
{
threads.push_back(std::thread(do_work, i)); // 产生线程
}
std::for_each(threads.begin(), threads.end(),
std::mem_fn(&std::thread::join)); // 对每个线程调用join()
return 0;
}