Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
muduo3学习笔记——Timestamp.{h,cc}
首先代码中的一些要点 1 Timestamp类继承自boost less than comparable 模板类 只要实现 lt 即可自动实现 gt lt gt 2 使用到了BOOST STATIC ASSERT 编译时断言 3 gmtim
muduo源码
muduo 网络库
muduo net库学习笔记4——事件驱动循环EventLoop、runInLoop和queueInLoop及对应唤醒
首先总体情况 每个muduo网络库有一个事件驱动循环线程池 EventLoopThreadPool 线程池用在事件驱动循环上层 也就是事件驱动循环是线程池中的一个线程 每个TcpServer对应一个事件驱动循环线程池 每个线程池中有多个事件
muduo源码
c
muduo网络库
muduo学习笔记5——线程封装
线程标识符 pthread self gettid thread gcc内置的线程局部存储设施 thread只能修饰POD类型 plain old data pthread atfork 线程标识符 Linux中 每个进程有一个pid 类型
muduo源码
muduo 基础库
muduo net库学习笔记7——用于创建服务器的类TcpServer
muduo为每个EventLoop设计了runInLoop和queueInLoop函数用来将本该在其他线程执行的线程不安全函数放到它所属线程执行 从而达到线程安全 muduo采用采用one loop per thread的设计思想 即每个线
muduo源码
muduo网络库
muduo源码解析
muduo1——编程风格:面向对象的编程和基于对象的编程(上)
muduo库其实不是面向对象的编程 而是基于对象的编程 那么在进入正式的muduo源码分析之前 先来看看这两种编程风格 一 面向对象编程风格 通过对一个线程类的封装来进行讲解 Thread是一个抽象类不能实例化对象 TestThread是派
muduo源码
thread
多态
muduo C
muduo_base库学习笔记8——线程安全的单例类实现、pthread_once、atexit、typedef char T_must_be_<font color = orange>compl..
了解单例模式 实际应用中 有些对象 我们只需要一个就可以了 比如 一台计算机上可以连好几个打印机 但是这个计算机上的打印程序只能有一个 这里就可以通过单例模式来避免两个打印作业同时输出到打印机中 即在整个的打印过程中只有一个打印程序的实例
muduo源码
muduo base 库
muduo net库学习笔记2——muduo网络库相关类图的关系、EventLoop、Channel、 Poller
EventLoop的简化封装 有在上篇文章中出现过但是连贯一下就还是搬过来 看完类图关系就可以分析完善的代码了 可以直接跳转到正文类图关系 h文件 namespace muduo namespace net Reactor at most
muduo源码
muduo net 库
muduo net库学习笔记1——TCP网络编程的本质、 EchoServer类、EventLoop类的简化封装
TCP网络编程最本质是处理三个半事件 1 连接建立 服务器accept接收连接 客户端发起连接 2 连接断开 主动断开 close shutdown 被动断开 read返回0 3 消息到达 文件描述符可读 4 消息发送完毕 这算半个 对于低
muduo源码
muduo net 库
muduo_base库学习笔记7——无界队列、有界队列及线程池的实现
BlockingQueue和BoundedBlockingQueue实质就是一个生产者消费者的模型 一 BlockingQueue 只用了一个条件变量notEmpty 不需要notFull 因为无界嘛不用考虑满的情况 条件变量需要跟一个互斥
muduo源码
muduo base 库
muduo_base库学习笔记6——互斥量、条件变量和倒计时门闩类
muduo中对互斥量和条件变量的操作基本上都是调用它们对应的相关函数来实现的 例如MutexLock lock即调用pthread mutex lock Condition wait 即调用pthread cond wait等 互斥量 mu
muduo源码
muduo base库