moduo网络
李生龙
这个作者很懒,什么都没留下…
展开
-
muduo_net库源码分析
Channel是selectable IO channel,负责注册与响应IO 事件,它不拥有file descriptor。Channel是Acceptor、Connector、EventLoop、TimerQueue、TcpConnection的成员,生命期由后者控制。时序图EventL转载 2014-08-29 11:19:50 · 616 阅读 · 0 评论 -
C1000k 新思路:用户态 TCP/IP 协议栈
现在的服务器支撑上百万个并发 TCP 连接已经不是新闻(余锋2010年的演讲,ideawu 的 iComet 开源项目,WhatsApp 做到了 2.5M)。实现 C1000k 的常规做法是调整内核参数,提高文件数,降低每个连接的内存消耗(参考 ideawu 的博客)。在今年的 BSDCan2014 会议上, Patrick Kelsey 介绍了把 FreeBSD 9.x 的转载 2015-03-17 13:08:57 · 673 阅读 · 0 评论 -
multiple reactors(35 -1 )
http://blog.csdn.net/laohan_/article/details/14309341 muduo库如何支持多线程EventLoopThread(IO线程类)EventLoopThreadPool(IO线程池类)IO线程池的功能是开启若干个IO线程,并让这些IO线程处于事件循环的状态转载 2015-03-27 19:41:08 · 427 阅读 · 0 评论 -
如何学习C++并发服务编程
下面简单谈谈我对学习这两门课的看法和建议,都是站在服务端程序员的角度,从实用主义(pragmatic)的立场出发而言的。学习操作系统的目的,不是让你去发明自己操作系统内核,打败 Linux;也不是成为内核开发人员;而是理解操作系统为用户态进程提供了怎样的运行环境,作为程序员应该如何才能充分利用好这个环境,哪些做法是有益的,哪些是做无用功,哪些则是帮倒忙。学习计算机体系结构的转载 2015-03-14 23:16:22 · 793 阅读 · 1 评论 -
多线程与并发服务器设计(23-1)
常见并发服务器方案1、循环式/迭代式( iterative )服务器 无法充分利用多核CPU,不适合执行时间较长的服务2、并发式(concurrent)服务器one connection per process/one connection per thread 适合执行时间比较长的服务3、prefork or pre threaded(UNP2e 第27章转载 2014-08-29 11:20:24 · 890 阅读 · 0 评论 -
多线程与并发服务器设计(23 - 2 )
异步I/O常见并发服务器方案Linux能同时启动多少个线程? 对于 32-bit Linux,一个进程的地址空间是 4G,其中用户态能访问 3G 左右,而一个线程的默认栈 (stack) 大小是 10M,心算可知,一个进程大约最多能同时启动 300 个线程左右。多线程能提高并发度吗? 如果指的是转载 2014-08-29 11:23:36 · 694 阅读 · 0 评论 -
TcpServerTcpConnection(34)
Acceptor类的主要功能是socket、bind、listen一般来说,在上层应用程序中,我们不直接使用Acceptor,而是把它作为TcpServer的成员TcpServer还包含了一个TcpConnection列表TcpConnection与Acceptor类似,有两个重要的数据成员,Socket与Channel时序图转载 2014-08-29 11:24:09 · 673 阅读 · 0 评论 -
muduo_net库源码分析(25)
http://blog.csdn.net/laohan_/article/details/14286753TCP网络编程本质 TCP网络编程最本质是的处理三个半事件 连接建立:服务器accept(被动)接受连接,客户端connect(主动)发起连接 连接断开:主动断开(close、shutdown),被动断开(read返回0)转载 2016-03-16 13:27:10 · 353 阅读 · 0 评论