runinloop专题

muduo_net库源码分析(五)(通过EventLoop::runInLoop实现跨线程调用)

知识点 pipe:等待线程关注fd[0]的可读事件,通知线程只需要往fd[1]中写入数据,fd[0]就变得可读了。 socketpair:与pipe类似,区别在于socketpair可以双向工作,pipe只能单向工作。 eventfd:比pipe更高效。 别忘了线程间的等待/通知还可以用条件变量实现。 一.Eventloop与Channel是聚合关系,但是有一个地方例外,这个地方就是Even