[core] Make the BackgroundScheduler a singleton
- Do not carry it over everywhere as parameter, it is a shared instance anyway and the lifecycle is pretty much the app lifecycle from the moment we instantiate a map. - Rename to BackgroundScheduler because it is a Scheduler that will do tasks in the background, we don't make assumptions if it is a thread pool or a single thread. - Most importantly, remove the dependency from `core` on `platform`.
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
#include <mbgl/actor/actor_ref.hpp>
|
||||
#include <mbgl/test/util.hpp>
|
||||
#include <mbgl/util/default_thread_pool.hpp>
|
||||
#include <mbgl/util/run_loop.hpp>
|
||||
#include <mbgl/util/thread.hpp>
|
||||
|
||||
#include <mbgl/actor/actor_ref.hpp>
|
||||
#include <mbgl/actor/scheduler.hpp>
|
||||
#include <mbgl/test/util.hpp>
|
||||
#include <mbgl/util/run_loop.hpp>
|
||||
#include <mbgl/util/timer.hpp>
|
||||
|
||||
#include <atomic>
|
||||
@@ -139,8 +140,7 @@ TEST(Thread, Concurrency) {
|
||||
unsigned numMessages = 100000;
|
||||
std::atomic_uint completed(numMessages);
|
||||
|
||||
ThreadPool threadPool(10);
|
||||
Actor<TestWorker> poolWorker(threadPool);
|
||||
Actor<TestWorker> poolWorker(Scheduler::GetBackground());
|
||||
auto poolWorkerRef = poolWorker.self();
|
||||
|
||||
Thread<TestWorker> threadedObject("Test");
|
||||
@@ -165,8 +165,7 @@ TEST(Thread, Concurrency) {
|
||||
TEST(Thread, ThreadPoolMessaging) {
|
||||
auto loop = std::make_shared<RunLoop>();
|
||||
|
||||
ThreadPool threadPool(1);
|
||||
Actor<TestWorker> poolWorker(threadPool);
|
||||
Actor<TestWorker> poolWorker(Scheduler::GetBackground());
|
||||
auto poolWorkerRef = poolWorker.self();
|
||||
|
||||
Thread<TestWorker> threadedObject("Test");
|
||||
|
||||
Reference in New Issue
Block a user