mhcoderwl

自顶向下探索世界,自底向上改变世界 -----WL

  • 主页
  • 标签
所有文章 友链 关于我

mhcoderwl

自顶向下探索世界,自底向上改变世界 -----WL

  • 主页
  • 标签

muduo网络库简介

2017-09-23

muduo/base

muduo/base 目录是一些基础库,都是用户可见的类,内容包括:

–base/

  • Asynclogging.{h,cc} 异步日志backend
  • Atomic.h 原子操作
  • BLockingQueue.h 无界阻塞队列
  • BoundBLockingQueue.h 有界阻塞队列
  • Condition.h 条件变量,与Mutex.h一同使用
  • CountDownLatch.{h,cc}
  • Threadpool. {h,cc} 简单的线程池大小
  • threadlocal.h 线程局部数据
  • THread.{h,cc} 线程对象
  • doc

muduo/net

–net/

  • acceptor.{h,cc} 接收器,用于服务端接受连接
  • Buffer.{h,cc} 缓冲区,非阻塞IO必备
  • Callbacks.h
  • endian.h 网络字节序和主机字节序转换
  • EventLoop.{h,cc} 事件分发器
  • eventLoopThread.{h,cc} 新建一个专门用于EventLoop的线程
  • EventLoopThreadPool.{h,cc} muduo默认多线程IO模型
  • TcpConnection.{h,cc}
  • doc

线程模型

one loop per thread + threadpool

threadpool 分两种,一种用来计算,一种用来做io线程.

eventloop

这个类用来调用poll或者epoll_wait,用于监听事件,然后调用每个描述符的channel

channel

channel 是Reactor关键结构,每个channel对应一个fd,只属于一个IO线程,负责这个fd 的事件分发,可以给这个fd的读写事件注册回调函数.

poller

##

赏

谢谢你请我吃糖果

  • muduo
  • c++

扫一扫,分享到微信

微信分享二维码
Java学习笔记1
服务器开发测试常用命令和工具
© 2018 mhcoderwl
Hexo Theme Yilia by Litten
  • 所有文章
  • 友链
  • 关于我

tag:

  • unp
  • unix
  • socket
  • JAVASE
  • apue
  • muduo
  • c++
  • stl
  • c/c++
  • 编译器
  • C--
  • c
  • FakeCC
  • python
  • sql
  • web 开发
  • Flask框架
  • 算法
  • 面试
  • linux
  • 教程
  • hexo
  • 博客
  • sockets
  • 服务器

    缺失模块。
    1、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    2、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: true
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

  • 昊师兄的博客
目前在东南大学读研
擅长c/c++,linux,shellscript
做一些3D人脸识别的研究
有兴趣一起交流学习!