/
Maksim_Sadovnikov
/
Executor
Обзор
Документация
Войти
/
Maksim_Sadovnikov
/
Executor
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
executor/include/task.h
52 строки
660 B
Maksim_Sadovnikov
Update code
16 май 2025, 23:29
16 май 2025, 23:29
b6e5a92
Код
Авторство
О чём код?
#ifndef LIB_TASK_H #define LIB_TASK_H #include <iostream> #include <functional> #include <atomic> #include <mutex> namespace executor { using Func = std::function<void()>; enum class StatusTask : unsigned int { IDLE, SCHEDULED, RUNNING, COMPLETED, ERROR }; class Task { public: Task( Func f ); Task( std::string id, Func f ); std::string GetId(); StatusTask GetStatus(); void SetStatus( StatusTask status ); void Run(); ~Task(); private: std::string id_; std::atomic<StatusTask> status_; Func function_; mutable std::mutex statusMutex_; }; } // namespace executor #endif