多线程代码被加入到mini-muduo,本篇主要介绍Linux多线程编程的5个类
1 Mutex
2 Condition
3 BlockingQueue
4 Thread
5 ThreadPool...
分类:
编程语言 时间:
2014-06-15 19:23:00
阅读次数:
348
select,poll,epoll简介selectselect本质上是通过设置或者检查存放fd标志位的数据结构来进行下一步处理。这样所带来的缺点是:1
单个进程可监视的fd数量被限制2 需要维护一个用来存放大量fd的数据结构,这样会使得用户空间和内核空间在传递该结构时复制开销大3 对socket进行...
分类:
其他好文 时间:
2014-06-12 11:04:07
阅读次数:
207
说到Nginx,它真的算是我在运维工作中的好朋友,它优异的性能和极高的工作效率实在是让人大爱,来自internet的报告称其epoll模型能够支持高达50000个并发连接数。Epoll[维基百科]:epoll是Linux下
多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发...
分类:
其他好文 时间:
2014-06-09 22:40:31
阅读次数:
536
一、问题引出
联系区别问题的引出,当需要读两个以上的I/O的时候,如果使用阻塞式的I/O,那么可能长时间的阻塞在一个描述符上面,另外的描述符虽然有数据但是不能读出来,这样实时性不能满足要求,大概的解决方案有以下几种:1.使用多进程或者多线程,但是这种方法会造成程序的复杂,而且对与进程与线程的创建维护...
分类:
其他好文 时间:
2014-06-09 17:47:22
阅读次数:
201
说到Nginx,它真的算是我在运维工作中的好朋友,它优异的性能和极高的工作效率实在是让人大爱,来自internet的报告称其epoll模型能够支持高达50000个并发连接数。Epoll[维基百科]:epoll是Linux下
多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少..
分类:
其他好文 时间:
2014-06-08 02:28:27
阅读次数:
327
(1)ACE庞大、复杂,适合大型项目。开源、免费,不依赖第三方库,支持跨平台。http://www.cs.wustl.edu/~schmidt/ACE.html(2)AsioAsio基于Boost开发的异步IO库,封装了Socket,简化基于socket程序的开发。开源、免费,支持跨平台。http:...
分类:
编程语言 时间:
2014-06-05 21:02:46
阅读次数:
336
一般情况下,我们像下面代码中所示的这样使用非阻塞connect:#include
#include #include #include #include #include #include #include #include #include
#define EPOLL_MAXEVENTS 64in...
分类:
其他好文 时间:
2014-06-04 18:04:11
阅读次数:
314
第一章 线程安全的对象生命期管理第二章 线程同步精要第三章
多线程服务器的适用场合与常用编程模型第四章
C++多线程系统编程精要1.(P84)11个常用的最基本Pthreads函数:2个:线程的创建和等待结束(join)。封装为muduo::Thread4个:mutex的创建、销毁、加锁、解锁。封装...
分类:
编程语言 时间:
2014-06-02 08:58:26
阅读次数:
434
最近在看squid的源码,刚开始毫无头绪,后来逐步找到一些感觉,记录之。
squid的源码中大概有100多个c文件,一个一个地看明显行不通。我们需要逐步找出设计者的主线。
先从main.c入手,需要关注的,是main.c离结尾比较近的那一段,它是squid的心脏:“for(;;){ ... e...
分类:
其他好文 时间:
2014-05-29 08:14:45
阅读次数:
588