
开源项目阅读
文章平均质量分 51
我要这脸有何用
今天的不开心就让他过去吧,这样每天都能开开心心.
展开
-
TinyWebServer读经---日志
log: 重写了一个阻塞队列,主要在原来的队列模板上加入了锁机制,以此来使得异步写入的时候保证临界资源访问没有问题 C++11以后,使用局部变量懒汉不用加锁 static Log *get_instance() { static Log instance; return &instance; } Log析构函数设置为虚函数 异步需要设置阻塞队列的长度,同步不需要设置 如果设置了max_queue_size,则设置为异步,异步时需要创建一个线程来进...原创 2022-04-05 20:51:28 · 1430 阅读 · 0 评论 -
TinyWebServer阅读笔记(二)
有错误麻烦大佬指出!!!拜托了!!!! 异步日志实现: 主要包含两个部分: 1. 日志模块 2.阻塞队列模块,其中加入阻塞队列模块主要是解决异步写入日志做准备. 阻塞队列模块: 实现了一个模板类循环队列 block_queue(int max_size = 1000) //根据max_size的大小对循环队列进行构造,这个里面主要有以下几个属性: 1. m_max_size: 循环队列能容纳的最大元素个数 2. m_array: 具体的循环队...原创 2022-03-24 21:56:18 · 605 阅读 · 0 评论 -
TinyWebServer阅读(一)
有错误麻烦大佬指出!!!拜托了!!!! 主线程epoll监听socket: //创建套接字,返回listenfd int listenfd = socket(PF_INET, SOCK_STREAM, 0); assert(listenfd >= 0); int ret = 0; struct sockaddr_in address; bzero(&address, sizeof(address)); address.sin_family = AF_INET; address.sin_原创 2022-03-24 16:34:28 · 4147 阅读 · 0 评论