相关文件 muduo/net/http/* HttpRequst:http请求类 HttpResponse: http响应类 HttpContext: http协议解析类 HttpServer: http服务器类 作用 解析http请求,用户只需根据http请求类,设置好响应类,http服务器会把响 ...
分类:
Web程序 时间:
2021-06-06 19:11:18
阅读次数:
0
相关文件 muduo/net/Channel.h muduo/net/Channel.cc 作用 Channel可理解为一个文件描述符fd和如何处理它的事件的回调函数的封装。 Channel负责注册和响应IO事件. muduo用户一般不直接使用Channel,而使用更上一层的封装,如TCPConne ...
分类:
其他好文 时间:
2021-05-24 12:25:58
阅读次数:
0
线程 创建线程 #include <pthread.h> int pthread_create(pthread_t *restrict thread,const pthread_attr_t *restrict attr,void *(*start_routine)(void*), void *re ...
分类:
其他好文 时间:
2021-04-26 13:53:31
阅读次数:
0
__thread 线程局部存储 Thread Local Storage(tls),是一种机制,通过这一机制分配的变量,每个当前线程有一个该变量的实例。 在用户层,用一个新的存储类型关键字:__thread 表示这一扩展。 __thread 使用规则: 如果一个线程局部存储变量有一个初始化器,它必须 ...
分类:
其他好文 时间:
2021-04-26 12:57:45
阅读次数:
0
注释过的源码太多就不放在这,可以去GitHub查看 下面是测试程序: #include "Exception.h" #include <iostream> class Bar { public: void test() { throw::muduo::Exception("oops"); // 抛出 ...
分类:
其他好文 时间:
2021-03-18 14:42:02
阅读次数:
0
libevent并不是线程安全的,但这不代表libevent不支持多线程模式。前几天在微博上看到ruanyf发了条微博说到apache和nginx的并发模型,看到评论很多人都说不对于是自己又查了下,总结一下我所学过的网络库或者网络服务器的并发模型1、muduo:one loop per thread ...
分类:
编程语言 时间:
2021-03-18 14:07:27
阅读次数:
0
背景: muduo网络库中选择了timefd_*系列函数来进行定时,之所以选择这一组函数的原因是: 1、这一组函数不涉及到信号,安全好用。 2、这一组函数通过操作时间相关的文件描述符实现功能,可以和其它的文件相关操作融为一体。 书上242页原话: timerf_create(2)函数把时间变成了一个 ...
分类:
其他好文 时间:
2020-09-17 23:59:02
阅读次数:
52
asynclogging类: 作用: 这是一个异步日志类:前端多个线程只管向这个日志类的缓冲区中写入日志,后端利用一个线程把缓冲区中的日志写入文件因此:日志数据流向过程是 [日志->缓冲区->文件]这是一个多生产者,单消费者的任务场景,多生产者负责把日志写入缓冲区,单消费者负责把缓冲区中数据写入文件 ...
分类:
其他好文 时间:
2020-09-04 17:22:47
阅读次数:
44
threadpool类: class threadpool:noncopyable { }; 作用: 利用mymuduo::thread 完成对于线程池的封装线程池内部成员:线程集合m_threads: 用于保存线程池内的所有线程线程池任务队列m_queue 表示待执行的任务队列条件变量:m_not ...
分类:
其他好文 时间:
2020-08-29 15:28:28
阅读次数:
56
简介 Poller class 是IO multiplexing的封装。在muduo中它是一个抽象类,因为muduo同时支持poll和epoll两种IO multiplexing机制。Poller是EventLoop的间接成员,只供其owner EventLoop在IO线程中调用,因此无需加锁。其生 ...
分类:
其他好文 时间:
2020-04-14 22:54:29
阅读次数:
63