#include <iostream> | |
#include <thread> | |
#include <vector> | |
#include "pseudo_barrier.h" | |
pseudo_barrier_t barrier_inside; | |
void thread_func() { pseudo_barrier_wait(barrier_inside); } | |
void test_thread() { | |
std::vector<std::thread> thrs; | |
for (int i = 0; i < 5; i++) | |
thrs.push_back(std::thread(thread_func)); // break here | |
pseudo_barrier_wait(barrier_inside); // break before join | |
for (auto &t : thrs) | |
t.join(); | |
} | |
int main() { | |
pseudo_barrier_init(barrier_inside, 6); | |
test_thread(); | |
return 0; | |
} |