ppsspp/Core/ThreadPools.cpp

22 lines
644 B
C++
Raw Normal View History

#include "ThreadPools.h"
2013-05-01 14:08:01 +02:00
#include "../Core/Config.h"
#include "Common/MakeUnique.h"
2013-05-01 14:08:01 +02:00
std::unique_ptr<ThreadPool> GlobalThreadPool::pool;
std::once_flag GlobalThreadPool::init_flag;
2013-05-01 14:08:01 +02:00
void GlobalThreadPool::Loop(const std::function<void(int,int)>& loop, int lower, int upper, int minSize) {
std::call_once(init_flag, Inititialize);
pool->ParallelLoop(loop, lower, upper, minSize);
}
void GlobalThreadPool::Memcpy(void *dest, const void *src, int size) {
std::call_once(init_flag, Inititialize);
pool->ParallelMemcpy(dest, src, size);
2013-05-01 14:08:01 +02:00
}
void GlobalThreadPool::Inititialize() {
pool = make_unique<ThreadPool>(g_Config.iNumWorkerThreads);
2013-05-01 14:08:01 +02:00
}