摘要:
上例中,t 是一个线程对象,函数func()运行于该线程中。对join()函数的调用将使调用线程(本例是指主线程)一直处于阻塞状态,直到正在执行的线程t执行结束。如果线程函数返回某个值,该值也将被忽略。该函数可以接收任意数量的参数。 尽管可以向线程函数传递任意数量的参数(指的是func形参的个数可以 阅读全文
摘要:
多线程TcpServer自己的EventLoop只用来接收新连接(即TcpServer所属线程的EventLoop只监听listen fd),而新连接会用其他EventLoop来执行IO(即每个新TcpConnection对象都会在线程池中分配一个线程来处理该连接上的IO事件). 单线程TcpSer 阅读全文
摘要:
Acceptor类:用于接收新的TCP连接,该类是内部class,供TcpServer使用,生命期由TcpServer控制 类成员: TcpServer类:管理accept获得的tcp连接.TcpServer是供用户直接使用的,生命期由用户控制. muduo尽量让依赖是单项的,TcpServer会用 阅读全文
摘要:
http://www.ccvita.com/515.html 在一个非阻塞(fcntl)的socket上调用read/write函数, 返回EAGAIN或者EWOULDBLOCK(注: EAGAIN就是EWOULDBLOCK) 这个错误表示资源暂时不够, 可能read时, 读缓冲区没有数据, 或者, 阅读全文
摘要:
http://blog.csdn.net/blues1021/article/details/44336835 http://www.cnblogs.com/zhaoyl/archive/2012/10/03/2711018.html http://blog.csdn.net/hitwengqi/a 阅读全文
摘要:
( ) 阅读全文
摘要:
Reactor模式: Reactor包含如下角色: Handle 句柄;用来标识socket连接或是打开文件; Synchronous Event Demultiplexer:同步事件多路分解器:由操作系统内核实现的一个函数;用于阻塞等待发生在句柄集合上的一个或多个事件;(如select/epoll 阅读全文
摘要:
使用tornado实现的一个简单http服务器:只需要定义自己的处理方法,其他的东西全部交给tornado完成. 1.socket、bind及listen函数(httpserver中实现) 2.accept函数(httpserver中实现) 3.IOStream IOStream对socket的读写 阅读全文
摘要:
http://stackoverflow.com/questions/19876746/stdtolower-and-visual-studio-2013 http://forums.codeguru.com/showthread.php?489969-no-matching-function-tr 阅读全文
摘要:
Unix/Linux上的五种IO模型(UNP6.2) IO多路复用一般不能和blocking IO用在一起,因为blocking IO中read() write() accept() connect()都有可能阻塞当前线程,这样线程就没办法处理其他socket上的IO事件了 non-blocking 阅读全文