
Muduo Base Library
文章平均质量分 72
laohan_
贵在坚持
展开
-
base lib 1 ----Timestamp
Timestamp 时间戳 计算机从1970-01-01 开始时间计算 , 但目前的经过的时间秒 假设等于microSecondsSinceEpoch_ , 把microSecondsSinceEpoch_ 转为time_t (大整数),在有time_t转为tm就可得到准确的时间格式struct tm {int tm_sec;原创 2013-11-06 10:37:14 · 1134 阅读 · 1 评论 -
BoundedBlockingQueue
BoundedBlockingQueue的类图----------------------------------------------------------------mutex_: MutexLock // 互斥量 |-notEmppty_:Condition //消费者发送生产者的条件变量 |-notFull_ : Condition //原创 2013-11-07 09:06:19 · 1185 阅读 · 0 评论 -
Singleton(17)
Singleton class umlSingleton源代码// Use of this source code is governed by a BSD-style license// that can be found in the License file.//// Author: Shuo Chen (chenshuo at chenshuo dot com)原创 2013-11-07 09:08:38 · 1582 阅读 · 1 评论 -
ThreadLocalSingle (19)
ThreadLocalSingle class UML源程序:// Use of this source code is governed by a BSD-style license// that can be found in the License file.//// Author: Shuo Chen (chenshuo at chenshuo dot com)原创 2013-11-07 09:12:47 · 1132 阅读 · 0 评论 -
ThreadLocal (18)
ThreadLocal class UMLThreadLocal 的源代码// Use of this source code is governed by a BSD-style license// that can be found in the License file.//// Author: Shuo Chen (chenshuo at chenshuo d原创 2013-11-07 09:11:46 · 1446 阅读 · 0 评论 -
ThreadPool(16)
threadPool类图------------------------mutex_:MutexLock //互斥量 ---> mutexlock--->mutexlockGuard-cond_:Codition //条件变量-name:string //名字-threads_:boost::ptr_vector //线程池容量-queue_: std::d原创 2013-11-07 09:07:49 · 2168 阅读 · 1 评论 -
BlockingQueue 1
BlockingQueue类图------------------------------------mutex_ : MutexLock //互斥锁 |-notEmpty : Condition // |-queue_: std::deque //堆栈 |--------------------------- |原创 2013-11-06 19:02:37 · 1128 阅读 · 0 评论 -
IPC组件的分装之条件变量(14)
Condition类图------------------------------------------------------- Condition---------------------------mutex_:MutexLock& //不负责MutexLock的生命周期-pcond:pthread_cond_t //条件变量原创 2013-11-06 18:58:27 · 991 阅读 · 0 评论 -
muduo 之线程(13)
线程的标示线程标识符 pthread_selfgettid __thread,gcc内置的线程局部存储设施 __thread只能修饰POD类型POD类型(plain old data),与C兼容的原始数据,例如,结构和整型等C语言中的类型是 POD 类型,但带有用户定义的构造函数或虚函数的类则不是 __thread string t_obj1(“原创 2013-11-06 17:07:59 · 2096 阅读 · 0 评论 -
面向对象编程和基于对象编程
面向对象编程: 面向对象也就是把对象作为“接口”暴露出去,一般内部是一个 接口 或者抽象类。原创 2013-11-06 16:35:44 · 1246 阅读 · 2 评论 -
epoll2
下面的总结参照于c++教育网 EPOLLIN事件内核中的socket接收缓冲区为空 低电平内核中的socket接收缓冲区不为空 高电平 EPOLLOUT事件内核中的socket发送缓冲区不满 高电平内核中的socket发送缓冲区满 低电平 LT电平触发高电平触发 ET 边沿触发低电平--》高电平 触发高电平--》低电平 触发 (注原创 2013-11-06 16:31:51 · 810 阅读 · 0 评论 -
IPC组件的分装之互斥锁(14)
MutexLock 的封装 MutexLock类图---------------------------------------------mutex_:pthread_mutex_t -holder_:pid_t //线程的真实ID,用来表示拥有锁的线程----------------------------->-MutexLock()>-Mutex原创 2013-11-06 17:10:01 · 1115 阅读 · 0 评论 -
Exception类实现(12)
Exception 类图123456789101112131415-message_: string -stack_:string >-Exception(what:char) >-Exception(what:string) >-Exception() +what(原创 2013-11-06 16:43:27 · 1004 阅读 · 0 评论 -
C++ Boost智能指针
正文 智能指针能够使C++的开发简单化,主要是它能够像其它限制性语言(如C#、VB)自动管理内存的释放,而且能够做更多的事情。 1、 什么是智能指针智能指针是一种像指针的C++对象,但它能够在对象不使用的时候自己销毁掉。我们知道在C++中的对象不再使用是很难定义的,因此C++中的资源管理是很复杂的。各种智能指针能够操作不同的情况。当然,智能指针能够在任务转载 2013-11-06 16:38:37 · 1129 阅读 · 0 评论 -
poll2
数据包 粘包 一个包 两次readRead :可能并没有把confd 对应的缓冲区的数据读完,那么connfd仍然是活跃的,我们应该将读到的数据保存在connfd的应用层的缓冲区(每一次都进行追加)。如何解析协议,我们让应用层的解析协议自己来解析 忙等待 : 假设客户端关注了socket的POLLOUT事件,而此时内核缓冲区有空闲,但是应用层却没数据可写,那么内核将会处于忙等待状态(busy waitting loop),一直发送POLLOUT事件。 解原创 2013-11-06 16:26:44 · 1135 阅读 · 0 评论 -
poll
signal (SIGPIPE ,SIG_IGN) ; Linux网络编程 第12讲 tcp 11中状态 SIGPIPE产生的原因: 如果客户端关闭套接字close 而服务器调用一次RST segment (TCP传输层) 如果服务器再次调用了write ,这个时候就会产生SIGPIPE信号2 、TIMEOUT会对大并发服务器原创 2013-11-06 10:49:14 · 961 阅读 · 0 评论 -
gcc原子操作,AtomicIntegerT , gcc编译选项(11)
Gcc原子操作// 原子自增操作type __sync_fetch_and_add (type *ptr, type value)// 原子比较和交换(设置)操作type __sync_val_compare_and_swap (type *ptr, type oldval type newval)bool __sync_bool_compare_and_swa原创 2013-11-06 10:39:00 · 1207 阅读 · 0 评论 -
epoll 1
/* poll 在已连接的套接字中遍历 epoll_wait 返回的都是活跃的套接字,所以减少了很多无效的套接字 Poll模型 : 每次调用 poll函数的时候。都需要把监听套接字与已连接套接字所感兴趣的事件数组 拷贝到内核。 LT模式 : Write EPOLLOUT 事件 高电平 writebuf内核有空闲空间,我们就说他处于高电平状态,也就是一直处于活跃状态。此时可能会产生busy waitting loop 低电平 当writebuf内核没有原创 2013-11-06 16:28:47 · 1675 阅读 · 0 评论