forked from progschj/ThreadPool
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathexample_2.cpp
31 lines (24 loc) · 802 Bytes
/
example_2.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <vector>
#include <chrono>
#include "Scheduled.hpp"
int func(const int i){
std::cout << "hello " << i << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(1));
for(int x = 0; x < 0xFFFFFFF; x++);
std::cout << "world " << i << std::endl;
return i*i;
}
int main(void){
ThreadPool pool(2);
std::vector< std::future<int> > results;
for(int i = 0; i < 10; i++) {
// results.push_back( pool.submit_at(std::chrono::steady_clock::now() + std::chrono::seconds(5), func, i) );
results.push_back( pool.submit_after(std::chrono::seconds(5), func, i) );
}
for(size_t i = 0; i < results.size(); i++)
results[i].get();
// std::cout << results[i].get() << ' ';
std::cout << std::endl;
return 0;
}