61 lines
932 B
C
61 lines
932 B
C
|
#ifndef HXTHREAD_H
|
||
|
#define HXTHREAD_H
|
||
|
|
||
|
#include <QObject>
|
||
|
#include <QThread>
|
||
|
#include <QtConcurrent>
|
||
|
|
||
|
class HxThread : public QThread
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
public:
|
||
|
/**
|
||
|
* @brief 线程类初始化
|
||
|
* @param millisecond
|
||
|
*/
|
||
|
HxThread(int millisecond);
|
||
|
|
||
|
/**
|
||
|
* @brief 停止
|
||
|
*/
|
||
|
void stop();
|
||
|
|
||
|
static void sleep(int millisecond);
|
||
|
|
||
|
protected:
|
||
|
/**
|
||
|
* @brief 线程任务
|
||
|
*/
|
||
|
virtual void action();
|
||
|
|
||
|
/**
|
||
|
* @brief 线程任务结束后的处理任务
|
||
|
*/
|
||
|
virtual void continue_with();
|
||
|
|
||
|
/**
|
||
|
* @brief 线程
|
||
|
*/
|
||
|
virtual void run();
|
||
|
|
||
|
protected:
|
||
|
/**
|
||
|
* @brief 线程状态. true: 运行; false: 结束;
|
||
|
*/
|
||
|
bool m_thread_status = false;
|
||
|
|
||
|
private:
|
||
|
/**
|
||
|
* @brief 线程轮询间隔, 单位毫秒
|
||
|
* @
|
||
|
*/
|
||
|
int m_wait_time;
|
||
|
|
||
|
/**
|
||
|
* @brief 线程停止标志
|
||
|
*/
|
||
|
bool m_stop_flags = true;
|
||
|
};
|
||
|
|
||
|
#endif // HXTHREAD_H
|