#include <cstdlib>
#include <omp.h>
#include <cstdio>
#include <thread>
#define THREADS 4
#define N 16
int main ( ) {
int i;
#pragma omp parallel for num_threads(THREADS)
for (i = 0; i < N; ++i) {
std::this_thread::sleep_for( std::chrono::milliseconds( 10*i ) );
}
return 0;
}
// thread 0 executes 4 sleeps: 0+1+2+3=6 - 60 ms
// .....
// thread 3 executes 4 sleeps: 12+13+14+15=54 - 540 ms