c++
文章平均质量分 67
ize
这个作者很懒,什么都没留下…
展开
-
高并发服务器架构笔记(3)——muduo_base 源码分析
class Timestamp : public muduo::copyable, public boost::less_than_comparable<Timestamp>{//...}Tinestamp 类封装原创 2017-05-22 16:48:05 · 845 阅读 · 0 评论 -
高并发服务器架构笔记(3)——muduo_base 源码分析
MutexLock MutexLock Mutex: pthread_mutex_t holder: pid_t (当前拥有该锁的线程 tid) ~~~~~~~~~~~~~ << create >> MutexLock() << destroy >> ~MutexLock() idLockedBythisThread(): bool 判断是否当前线程拥有该锁 asser原创 2017-05-26 23:45:15 · 420 阅读 · 0 评论 -
高并发服务器架构笔记(2)——面向对象编程风格
以封装一个线程类为例 Thread (一个线程抽象基类) threadId: pthread_t Strat(): void Join(): void ThreadRoutine(void* arg): void Run(): void(纯虚函数)Run()表示这个线程类的执行体,每个线程类都可能不一样 TestThread : Thread (派生自 THread 的原创 2017-05-21 23:16:37 · 301 阅读 · 0 评论 -
高并发服务器架构笔记(4)——muduo_net 源码分析
TCP 网络编程最本质的是处理3.5个事件1. 连接建立:服务端 accept(被动)接受连接,客户端 connect (主动)发起连接。2.连接断开:主动断开(close、shutdown),被动断开(read 返回0)3 处理消息到达事件(核心):当网络库事件循环中的可读事件触发时,将数据从内核缓冲区移动到应用缓冲区中。调用OnMessage( )函数,根据协议判断数据包是否一个完整的数据包(不原创 2017-08-09 21:23:37 · 783 阅读 · 0 评论 -
Linux 网络编程笔记(2)——socket 编程
socket 可以看作是用户进程与内核网络协议栈的编程接口既可以用于本机的进程间通信,还可以用于网络上不同主机的进程间通信listenfd 是被动套接字,可以用来接受连接。accept 从已完成连接队列中取出一个队列头,得到一个新套接字 connfd。connfd 是主动套接字,不能用来接受连接。服务端和客户端的 ip 和 port 四元组表示 一个连接。REUSEADDR 可以解决原创 2017-05-28 00:32:44 · 422 阅读 · 0 评论