Helper library for multithreaded programming in C++
Helper for multithreaded programming
$ #include <ThreadWeaver/ThreadWeaver.h>
using namespace ThreadWeaver;
Queue queue;
for(int i=0; i<10; ++i) queue.enqueue(make_job([i](){ /* work */ }));
queue.waitForAll();$ ThreadWeaver::Queue queue;
for(auto& item : data) queue.enqueue(make_job([&item](){ processItem(item); }));$ ThreadWeaver::Queue q;
for(int i=0; i<100; ++i) q.enqueue(task);
q.suspend();
q.resume();$ ThreadWeaver::Queue queue;
queue.enqueue(job1);
queue.enqueue(job2);
queue.waitForAll(); // wait for completion