Maintenance.

This commit is contained in:
Marcel Keller
2021-01-21 11:05:37 +11:00
parent 9e35aeeac2
commit 253ece7844
239 changed files with 2309 additions and 2113 deletions

40
Processor/ThreadQueue.cpp Normal file
View File

@@ -0,0 +1,40 @@
/*
* ThreadQueue.cpp
*
*/
#include "ThreadQueue.h"
void ThreadQueue::schedule(const ThreadJob& job)
{
lock.lock();
left++;
#ifdef DEBUG_THREAD_QUEUE
cerr << this << ": " << left << " left" << endl;
#endif
lock.unlock();
in.push(job);
}
ThreadJob ThreadQueue::next()
{
return in.pop();
}
void ThreadQueue::finished(const ThreadJob& job)
{
out.push(job);
}
ThreadJob ThreadQueue::result()
{
auto res = out.pop();
lock.lock();
left--;
#ifdef DEBUG_THREAD_QUEUE
cerr << this << ": " << left << " left" << endl;
#endif
lock.unlock();
return res;
}