#ifndef NMCALCULATIONPEBIGRIDTASK_H #define NMCALCULATIONPEBIGRIDTASK_H #include #include "nmCalculation_global.h" class nmDataAnalyzeManager; class NMCALCULATION_EXPORT nmCalculationPebiGridTask : public QThread { Q_OBJECT public: /** @brief 创建绑定到指定分析窗口的后台网格生成任务。 */ explicit nmCalculationPebiGridTask(nmDataAnalyzeManager* pDataManager, QObject *parent = 0); /** @brief 等待线程结束,并释放 DataManager 后台使用权。 */ ~nmCalculationPebiGridTask(); signals: /** @brief 无论成功或失败均通知主线程结束本轮网格任务。 */ void pebiGridGenerated(bool success); protected: /** @brief 线程入口:为捕获的数据管理器后台生成 PEBI 网格。 */ void run() override; private: /** @brief 成对释放构造时登记的 DataManager 后台使用权。 */ void releaseDataManagerUse(); /** @brief 启动任务时捕获所属数据管理器,线程内不再读取全局当前窗口。 */ nmDataAnalyzeManager* m_pDataManager; bool m_bManagerUseActive; ///< 是否仍持有 DataManager 后台使用权。 }; #endif // NMCALCULATIONPEBIGRIDTASK_H