// from: http://solarianprogrammer.com/2011/12/16/cpp-11-thread-tutorial/ #include #include static const int num_threads = 8; void call_from_thread(int tid) { std::cout << "Launched by thread " << tid << std::endl; double x = 1.0; for(int i = 0; i < 2E9; i++) { x /= 2; } } int main() { std::thread t[num_threads]; for (int i = 0; i < num_threads; ++i) { t[i] = std::thread(call_from_thread, i); } std::cout << "Launched from the main\n"; for (int i = 0; i < num_threads; ++i) { t[i].join(); } return 0; }