1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
#include <iostream>
#include <seqan/parallel.h>
using namespace seqan2;
int main()
{
// instantiate an empty Queue
ConcurrentQueue<unsigned> queue;
// start two threads
SEQAN_OMP_PRAGMA(parallel sections num_threads(2))
{
SEQAN_OMP_PRAGMA(section)
{
for (unsigned i = 9999; i != 0; --i)
appendValue(queue, i);
}
SEQAN_OMP_PRAGMA(section)
{
bool equal = true;
for (unsigned i = 9999; i != 0; --i)
equal &= (i == popFront(queue));
std::cout << (equal ? "SUCCESS" : "FAILURE") << std::endl;
}
}
return 0;
}
|