#ifndef CORE_THREAD_HEADER_FILE_INCLUDED #define CORE_THREAD_HEADER_FILE_INCLUDED #include namespace ftc { class Thread { private: pthread_t thread; bool is_running = false; bool delete_after_finish = false; static void* DoRun(void *arg); protected: // Основная функция потока, переопределите в дочерних классах virtual void Run(); public: bool IsRunning() { return is_running; } virtual ~Thread() {} bool Start(); // Запускает поток, удаляя его после завершения static void Perform(Thread *work); }; } #endif