29#include <sptk5/LogEngine.h>
30#include <sptk5/threads/Runable.h>
31#include <sptk5/threads/SynchronizedList.h>
32#include <sptk5/threads/SynchronizedQueue.h>
33#include <sptk5/threads/ThreadEvent.h>
34#include <sptk5/threads/ThreadManager.h>
35#include <sptk5/threads/WorkerThread.h>
63 ThreadPool(uint32_t threadLimit, std::chrono::milliseconds threadIdleSeconds,
const String& threadName,
70 virtual void execute(
const SRunable& task);
95 SThreadManager m_threadManager;
99 std::chrono::milliseconds m_threadIdleTime;
102 std::atomic_bool m_shutdown {
false};
116 void logThreadEvent(
const String& event,
const Thread* workerThread)
const;
Definition: LogEngine.h:60
Generic unnamed semaphore class.
Definition: Semaphore.h:52
Thread event interface.
Definition: ThreadEvent.h:43
Type
Thread event type.
Definition: ThreadEvent.h:49
Definition: ThreadPool.h:55
virtual void execute(const SRunable &task)
void threadEvent(Thread *thread, ThreadEvent::Type eventType, SRunable runable) override
ThreadPool(uint32_t threadLimit, std::chrono::milliseconds threadIdleSeconds, const String &threadName, LogEngine *logEngine)
Definition: WorkerThread.h:55