diff options
Diffstat (limited to 'platform/default/src/mbgl/util')
-rw-r--r-- | platform/default/src/mbgl/util/default_thread_pool.cpp | 57 | ||||
-rw-r--r-- | platform/default/src/mbgl/util/shared_thread_pool.cpp | 14 |
2 files changed, 0 insertions, 71 deletions
diff --git a/platform/default/src/mbgl/util/default_thread_pool.cpp b/platform/default/src/mbgl/util/default_thread_pool.cpp deleted file mode 100644 index d3950bb8aa..0000000000 --- a/platform/default/src/mbgl/util/default_thread_pool.cpp +++ /dev/null @@ -1,57 +0,0 @@ -#include <mbgl/util/default_thread_pool.hpp> -#include <mbgl/actor/mailbox.hpp> -#include <mbgl/util/platform.hpp> -#include <mbgl/util/string.hpp> - -namespace mbgl { - -ThreadPool::ThreadPool(std::size_t count) { - threads.reserve(count); - for (std::size_t i = 0; i < count; ++i) { - threads.emplace_back([this, i]() { - platform::setCurrentThreadName(std::string{ "Worker " } + util::toString(i + 1)); - - while (true) { - std::unique_lock<std::mutex> lock(mutex); - - cv.wait(lock, [this] { - return !queue.empty() || terminate; - }); - - if (terminate) { - return; - } - - auto mailbox = queue.front(); - queue.pop(); - lock.unlock(); - - Mailbox::maybeReceive(mailbox); - } - }); - } -} - -ThreadPool::~ThreadPool() { - { - std::lock_guard<std::mutex> lock(mutex); - terminate = true; - } - - cv.notify_all(); - - for (auto& thread : threads) { - thread.join(); - } -} - -void ThreadPool::schedule(std::weak_ptr<Mailbox> mailbox) { - { - std::lock_guard<std::mutex> lock(mutex); - queue.push(mailbox); - } - - cv.notify_one(); -} - -} // namespace mbgl diff --git a/platform/default/src/mbgl/util/shared_thread_pool.cpp b/platform/default/src/mbgl/util/shared_thread_pool.cpp deleted file mode 100644 index d7facbab94..0000000000 --- a/platform/default/src/mbgl/util/shared_thread_pool.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include <mbgl/util/shared_thread_pool.hpp> - -namespace mbgl { - -std::shared_ptr<ThreadPool> sharedThreadPool() { - static std::weak_ptr<ThreadPool> weak; - auto pool = weak.lock(); - if (!pool) { - weak = pool = std::make_shared<ThreadPool>(4); - } - return pool; -} - -} // namespace mbgl |