博客专栏  >  架构   >  muduo源码分析

muduo源码分析

一款使用C++写的基于 one loop per thread的网络库,只支持TCP,值支持Linux平台

关注
24 已关注
14篇博文
  • muduo源码分析--连接的断开

    在Tcp中断开连接比创建连接更加困难         真正执行断开连接的时候是从在channel中的handleEvent函数,在Channel中并没有handleRead、handleWrite、h...

    2014-03-31 17:02
    1633
  • muduo源码分析--EventLoop 类的实现

    首先看EventLoop的具体实现,因为继承了boost::noncopyable。所以这个类是不可拷贝的。     从设计muduo的理念来看,one loop per thread顾名思义每个线程...

    2014-03-31 13:35
    1537
  • muduo源码分析--buffer中的线程安全

    在栈上准备了一个65536字节的extrabuf(这个空间是在readFd函数内部定义的,说以说是内部栈空间,在这个函数返回以后这个栈空间就会消失,属于临时变量),然后利用readv(0来读取数据,i...

    2014-03-29 10:15
    1698
  • muduo源码分析--数据发送

    暂且已经明白在non-blocking+IO multiplexing网络编程模型中应用层的buffer是必须的这个问题,看数据是怎么被发送的:         对于应用程序而言,它只管生成数据,它...

    2014-03-28 16:35
    1212
  • muduo源码分析--数据在muduo中的旅程

    在实例化一个EvenLoop之后,就会有两个socketfd(这两个套接字分别归属于两个Channel中,一个是异步唤醒的wakeFd,一个timequeue初始化的fd)被添加到监听队列中    ...

    2014-03-28 14:15
    1152
  • muduo源码分析--TcpServer

    从TcpServer分析,结果又回到了TcpServer来,但是这次是有目的而来,这次是分析在TcpServer类中如何使用EventLoopThreadPool。         原来我们再使用T...

    2014-03-27 22:02
    1824
  • muduo源码分析--EventLoopThreadPool类

    这个貌似是个池,池里全是EventLoopThread。貌似很强大         这个类对外的接口也很简单         一个构造函数,需要传递的是EventLoop           一个设置...

    2014-03-27 15:45
    1361
  • muduo源码分析---EventLoopThread

    这个类只有两个对外接口的函数,一个构造函数,一个开始Loop的函数 类的内部成员:         一个Loop指针 loop_(说明内部并没有实例化EventLoop)         一个线程  ...

    2014-03-27 14:51
    1179
  • muduo源码分析---EventLoop类

    现在暂时记住TcpConnection是TcpServer中Acceptor关注的监听套接字上accept新连接后被初始化的一个对象,接下来分析下EventLoop         这个东西才是真正...

    2014-03-27 14:03
    2002
  • muduo源码分析--事件如何被关注的 EpollPoller Channel TcpServer

    首先看TcpServer:         在这里肯定是有socketfd的,不然这个监听套接字是怎么被关注的呢!这样的操作时通过Accept来处理的 Acceptor:         在这个...

    2014-03-26 19:56
    1278
  • muduo源码分析--事件回调层次是怎么传递的Tcpserver Channel TcpConnection

    muduo库中的源码并不是很多,但是回调的处理非常巧妙,这里从事件激活(某个套接字上可读/可写)以后这个层次看回调怎么被调用的。 首先从最大的EventLoop说起:         EventL...

    2014-03-26 19:55
    1488
  • muduo源码分析--详解muduo多线程模型

    6.3     非阻塞网络编程应该用边沿触发(ET)还是电平触发(LT)?如果是电平触发,那么什么时候关注POLLOUT事件?会不会造成busy-loop?如果是边沿触发,如果和防止漏读造成的饥饿?...

    2014-03-26 11:27
    1942
  • 常见多线程并发服务器编程模型

    一、3点基础知识 1、一个主机的端口号为所有进程所共享,但普通用户进程绑定不了一些特殊端口号如20、80等。  2、每个进程都有自己的文件描述符(包括file fd, socket fd, t...

    2013-12-26 20:52
    2462
  • 《linux多线程服务端编程--muduo网络库的使用》读后感

    很少这么认真的读完这么厚的一本书,很少有书能让自己读完以后再读。 对于少有开发经验的人来说,书中的内容恰有醍醐灌顶的效果,书中的内容甚是新颖!从去年12月份买来,大概翻看了一遍,今天开学以后诸事安排...

    2014-04-01 22:20
    2324

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部