Files
MP-SPDZ/Processor/ThreadQueue.h
Marcel Keller 253ece7844 Maintenance.
2021-01-21 11:06:18 +11:00

35 lines
494 B
C++

/*
* ThreadQueue.h
*
*/
#ifndef PROCESSOR_THREADQUEUE_H_
#define PROCESSOR_THREADQUEUE_H_
#include "ThreadJob.h"
class ThreadQueue
{
WaitQueue<ThreadJob> in, out;
Lock lock;
int left;
public:
ThreadQueue() :
left(0)
{
}
bool available()
{
return left == 0;
}
void schedule(const ThreadJob& job);
ThreadJob next();
void finished(const ThreadJob& job);
ThreadJob result();
};
#endif /* PROCESSOR_THREADQUEUE_H_ */