brintos

brintos / llvm-project-archived public Read only

0
0
Text · 512 B · c34e057 Raw
26 lines · cpp
1#include <iostream>2#include <thread>3#include <vector>4 5#include "pseudo_barrier.h"6 7pseudo_barrier_t barrier_inside;8 9void thread_func() { pseudo_barrier_wait(barrier_inside); }10 11void test_thread() {12  std::vector<std::thread> thrs;13  for (int i = 0; i < 5; i++)14    thrs.push_back(std::thread(thread_func)); // break here15 16  pseudo_barrier_wait(barrier_inside); // break before join17  for (auto &t : thrs)18    t.join();19}20 21int main() {22  pseudo_barrier_init(barrier_inside, 6);23  test_thread();24  return 0;25}26