feat(app): add logger worker thread for asynchronous message processing

This commit is contained in:
user
2026-07-21 12:48:53 +04:00
parent 4552483a7e
commit 4366eeb92e
2 changed files with 34 additions and 9 deletions
+6 -9
View File
@@ -1,6 +1,5 @@
#pragma once
#include <atomic>
#include <thread>
#include "logger.hpp"
@@ -30,7 +29,8 @@ public:
/**
* @brief Останавливает поток записи.
*
* Дожидается завершения рабочего потока.
* Останавливает очередь сообщений и дожидается завершения
* рабочего потока после обработки оставшихся сообщений.
*/
~LoggerWorker();
@@ -50,9 +50,11 @@ public:
void start();
/**
* @brief Отправляет сигнал завершения потоку записи.
* @brief Останавливает обработку сообщений.
*
* После обработки всех сообщений worker завершит работу.
* После остановки очереди новые сообщения не принимаются.
* Рабочий поток завершится после обработки всех сообщений,
* которые уже находились в очереди.
*/
void stop();
@@ -79,11 +81,6 @@ private:
* @brief Поток записи.
*/
std::thread workerThread_;
/**
* @brief Флаг работы потока.
*/
std::atomic<bool> running_{false};
};
} // namespace app