From 67e40a5d4d3b4e7ed6823e9a768cea48cfd6cfe6 Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Wed, 29 Nov 2023 20:58:54 -0500 Subject: add thread_pool --- src/thread_pool.hpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/thread_pool.hpp (limited to 'src/thread_pool.hpp') diff --git a/src/thread_pool.hpp b/src/thread_pool.hpp new file mode 100644 index 0000000..12962dd --- /dev/null +++ b/src/thread_pool.hpp @@ -0,0 +1,22 @@ +#ifndef PKE_THREADING_HPP +#define PKE_THREADING_HPP + +#include "dynamic-array.hpp" +#include "macros.hpp" + +#include +#include +#include +#include + +TypeSafeInt_H(ThreadPoolHandle, uint64_t, 0xFFFFFFFFFFFFFFFF); + +ThreadPoolHandle PkeThreads_Init (uint8_t threadCount, uint8_t maxQueueCount, MemBucket *bkt = nullptr); +void PkeThreads_Reset (ThreadPoolHandle handle); +bool PkeThreads_Enqueue (ThreadPoolHandle handle, std::packaged_task job); +void PkeThreads_Pause (ThreadPoolHandle handle); +void PkeThreads_Resume (ThreadPoolHandle handle); +void PkeThreads_Shutdown (ThreadPoolHandle handle); +void PkeThreads_Teardown (ThreadPoolHandle handle); + +#endif /* PKE_THREADING_HPP */ -- cgit v1.2.3