cpputil/include/log_queue.h

29 lines
444 B
C++

#ifndef LOG_QUEUE_H
#define LOG_QUEUE_H
#include <queue>
#include <thread>
#include <mutex>
#include <condition_variable>
#include <functional>
class log_queue
{
private:
std::thread _worker;
std::mutex _mutex;
std::condition_variable _cond;
std::queue<std::function<void()>> _queue;
private:
void worker_func();
public:
log_queue();
~log_queue();
void add_log(const std::function<void()>& logFunc);
};
#endif /* LOG_QUEUE_H */