26 lines
512 B
C++
26 lines
512 B
C++
|
#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;
|
||
|
}
|