queue clear - operator=(&&)

This commit is contained in:
gabime 2014-02-01 02:27:21 +02:00
parent 65e8349c60
commit bb529a226d
2 changed files with 6 additions and 10 deletions

View File

@ -95,8 +95,11 @@ public:
// Clear the queue
void clear()
{
T item;
while (pop(item, std::chrono::milliseconds(0)));
{
std::unique_lock<std::mutex> ul(mutex_);
q_ = queue_t{};
}
item_popped_cond_.notify_all();
}
private:

View File

@ -70,7 +70,7 @@ void popper(Q* q)
string output;
while(active)
{
q->pop(output);
q->pop(output);
++pop_count;
}
}
@ -80,13 +80,6 @@ void testq(int size, int pushers, int poppers)
active = true;
Q q{static_cast<Q::size_type>(size)};
/*
A a;
q.push(a);
std::cout << "Befor pop..\n";
q.pop(a);
return;
*/
for(int i = 0; i < poppers; i++)
new std::thread(std::bind(popper, &q));