1 Star 1 Fork 0

guanzhanyi/webServer

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
threadpool.cpp 701 Bytes
一键复制 编辑 原始数据 按行查看 历史
guanzhanyi 提交于 2021-05-11 13:17 . 成功运行
/*
*/
#include <memory>
#include <vector>
#include "eventloop.h"
#include "eventloopThread.h"
#include "threadpool.h"
using namespace std;
ThreadPool::ThreadPool(EventLoop* base, int nums):baseloop_(base),
started_(false),
numThreads_(nums),
next_(0){}
void ThreadPool::start()
{
started_ = true;
for(int i=0;i<numThreads_;++i)
{
sp_evthread tmp(new EventLoopThread());
threads_.push_back(tmp);
loops_.push_back(tmp->startLoop());
}
}
EventLoop* ThreadPool::getNextLoop()
{
if(!started_) return nullptr;
EventLoop* p = baseloop_;
if(!loops_.empty())
{
p = loops_[next_];
next_ = (next_+1)%numThreads_;
}
return p;
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/guanzhanyi/web-server.git
git@gitee.com:guanzhanyi/web-server.git
guanzhanyi
web-server
webServer
master

搜索帮助