42{
44 std::thread *t[4];
46
48 queue.
push(std::move(i));
49
51
52 t[0] =
new std::thread([&queue, &
go]() {
55 queue.
push(std::move(i));
56 });
57
58 t[1] =
new std::thread([&queue, &
go]() {
61 queue.
push(std::move(i));
62 });
63
64 t[2] =
new std::thread([&queue, &
go]() {
68 });
69
70 t[3] =
new std::thread([&queue, &
go]() {
74 });
75
77
78 t[0]->join();
79 t[1]->join();
80 t[2]->join();
81 t[3]->join();
82
83 delete t[0];
84 delete t[1];
85 delete t[2];
86 delete t[3];
87
89}
std::atomic< bool > go
Definition: LockedLookupTableTest.cpp:49
#define MAX_PUSHES
Definition: ThreadSafeQueueTest.cpp:39
Definition: ThreadSafeQueue.hpp:37
std::size_t size()
Definition: ThreadSafeQueue.hpp:102
void push(T &&new_value)
Definition: ThreadSafeQueue.hpp:90
std::shared_ptr< T > try_pop()
Definition: ThreadSafeQueue.hpp:84