代码拉取完成,页面将自动刷新
#ifndef STREAM_THREAD_H
#define STREAM_THREAD_H
#include <pthread.h>
#include "stream_task.h"
#include <list>
/**
* @brief 内部线程对象,由线程池管理
*/
class StreamThread
{
public:
/**
* @brief StreamThread
* @param id 指定线程ID
*/
StreamThread(int id);
/**
* @brief AddTask 添加任务
* @param task
*/
void AddTask(StreamTask* task);
/**
* @brief RemoveTask 移除任务
* @param task
*/
void RemoveTask(StreamTask* task);
/**
* @brief IsContain 判断当前现成是否包含任务
* @param task
* @return
*/
bool IsContain(StreamTask* task);
/**
* @brief TaskSize 线程的任务数量
* @return
*/
int TaskSize();
/**
* @brief Start
*/
void Start();
/**
* @brief Stop
*/
void Stop();
static void* Run(void *arg);
private:
int id_;
int stream_sum_;
struct event_base* base_ = nullptr;
pthread_t th_;
bool is_exit_;
std::list<StreamTask*> task_list_;
};
#endif // STREAM_THREAD_H
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。