/
Shymer123
/
LumenServer
Обзор
Документация
Войти
/
Shymer123
/
LumenServer
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Server/SourceFiles/Core/Infrastructure/ThreadPoolManager.h
37 строк
879 B
Shymer123
Initial commit: LumenServer
20 июн 2026, 12:43
20 июн 2026, 12:43
173f14c
Код
Авторство
О чём код?
#ifndef THREADPOOLMANAGER_H #define THREADPOOLMANAGER_H #include <cstddef> #include <boost/asio/io_context.hpp> #include <boost/asio/executor_work_guard.hpp> #include "TaskQueue.h" namespace Core::Infrastructure { class ThreadPoolManager { public: explicit ThreadPoolManager(size_t netThreads, size_t workerThreads); ~ThreadPoolManager() noexcept; boost::asio::io_context& io(); TaskQueue& workers(); void start(); void stop(); private: boost::asio::io_context m_io; std::unique_ptr<boost::asio::executor_work_guard<boost::asio::io_context::executor_type>> m_workGuard; std::vector<std::thread> m_netThreads; size_t m_netThreadsCount; TaskQueue m_workerPool; bool m_stopped = false; }; } // namespace Core::Infrastructure #endif // THREADPOOLMANAGER_H