3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/container/MovePriorityQueue.h"
7#include "mc/deps/core/threading/BackgroundTaskBase.h"
8#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
9#include "mc/platform/brstd/flat_set.h"
37 WorkerPool& operator=(WorkerPool
const&);
38 WorkerPool(WorkerPool
const&);
44 virtual ~WorkerPool() =
default;
51 MCNAPI ::std::vector<::std::thread::id> getThreadIds()
const;
53 MCNAPI
void kick(uint64 count);
56 MCNAPI
void queue(::std::shared_ptr<::BackgroundTaskBase> task,
bool queueImmediate);
68 MCNAPI static ::brstd::flat_set<::WorkerPool*, ::std::less<::WorkerPool*>, ::std::vector<::WorkerPool*>>&
Definition BackgroundTaskBase.h:18
Definition EnableNonOwnerReferences.h:7
MCAPI void queue(::std::shared_ptr<::BackgroundTaskBase > task, bool queueImmediate)
static MCAPI ::std::mutex & sAllPoolsMutex()
static MCAPI ::brstd::flat_set<::WorkerPool *, ::std::less<::WorkerPool * >, ::std::vector<::WorkerPool * > > & sAllPools()
static MCAPI void _registerPool(::WorkerPool &pool)