cpp11/thread2.cc

30 lines
601 B
C++

// from: http://solarianprogrammer.com/2011/12/16/cpp-11-thread-tutorial/
#include <iostream>
#include <thread>
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;
}