代码拉取完成,页面将自动刷新
#pragma once
#include "noncopyable.h"
#include "Thread.h"
#include <functional>
#include <string>
#include <mutex>
#include <condition_variable>
class EventLoop;
class EventLoopThread : noncopyable
{
public:
using ThreadInitCallback = std::function<void(EventLoop *)>;
EventLoopThread(const ThreadInitCallback &cb = ThreadInitCallback(),
const std::string &name = std::string());
~EventLoopThread();
EventLoop *startLoop();
private:
void threadFunc();
// 在一个类中,如果一个变量在多个函数调用(增删改),则需要加锁(数组...) 或 原子类型(变量...)
// 在全局范围内,如果有一个变量被多个线程调用,则需要加锁(数组...) 或 先保留当前状态等到后面再调用(errno)
EventLoop *loop_;
bool exiting_;
Thread thread_;
std::mutex mutex_;
std::condition_variable cond_;
ThreadInitCallback callback_;
};
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。