原文:muduo源码分析Channel

简介 Channel类,即通道类。Channel类是可能产生事件的文件描述符封装在其中的,这里的文件描述符可以是file descriptor,可以是socket,还可以是timefd,signalfd。但实际上它不拥有fd ,不用负责将其关闭,关闭是Eventpool的事情。 Acceptor和TcpConnection通过Channel与Eventpool建立连接,而且真正的事件处理函数也都 ...

2020-04-14 18:42 0 614 推荐指数:

查看详情

muduo源码分析之定时器TimerQueue

  (muduo源码系列大多是我在看muduo源码的时候结合网上博客总结的,我尽可能多的是对源码注释) 简介 Muduo的定时器功能主要由三个class实现,TimerId,Timer,TimerQueue,TimerQueue的接口只有两个addTimer ...

Tue Apr 14 21:31:00 CST 2020 0 688
Go channel实现源码分析

go通道基于go的并发调度实现,本身并不复杂,go并发调度请看我的这篇文章:go并发调度原理学习 1.channel数据结构 2.创建channel实现 创建channel实例: ch := make(chan ...

Wed Jan 16 17:31:00 CST 2019 0 1667
PhoneGap源码分析7——cordova/channel

  分析完了cordova/utils之后,回到cordova/channel这个模块来,这个模块是实现事件监听的基础,当然,我们的焦点是它的构造函数,源码中是匿名的,这里为了行文方便,姑且称之为factory。   要分析一个函数,从外部来说,知道怎么调用它就行了,这也就是通常所说的暴露在 ...

Tue Aug 14 00:51:00 CST 2012 0 3293
muduo源代码分析--我对muduo的理解

分为几个模块 EventLoop、TcpServer、Acceptor、TcpConnection、Channel等 对于EventLoop来说: 他仅仅关注里面的主驱动力,EventLoop中仅仅关注poll,这类系统调用使得其成为Reactor模式,EventLoop中有属于 ...

Thu Mar 10 00:38:00 CST 2016 1 5813
【Java】NIO中Channel的注册源码分析

Channel的注册是在SelectableChannel中定义的: 而其具体实现是在AbstractSelectableChannel中: 其中regLock和keyLock是两个对象,分别用来做注册锁和key集合锁 isOpen判断Channel ...

Fri May 17 21:19:00 CST 2019 0 800
Rust源码分析channel's upgrade

https://zhuanlan.zhihu.com/p/50101525 std::sync::mpsc::channel 本文分析Rust标准库中的channelchannel(通道)作为线程间通信的一种方式被广泛使用。 Rust提供了多生产者单消费者的channel。我们重点关注多个 ...

Tue May 26 00:00:00 CST 2020 0 610
Rust源码分析channel内部mpsc队列

https://zhuanlan.zhihu.com/p/50176724 接着前面的channel的升级继续讲。 首先,之前的upgrade过程中内存的回收要稍微注意下。因为Receiver现在指向shared::Packet之后,那个new_port需要被析构,也就是调用drop函数 ...

Tue May 26 00:01:00 CST 2020 0 814
muduo网络库代码剖析——Channel

Channel类的数据成员 Channel类的作用 1.存储了当fd_有事件到来以后需要回调上层的函数:readCallback_、writeCallback_、closeCallback_、errorCallback_ 2.提升了某个对象的生命期?? 3.将fd_ ...

Mon Feb 17 07:08:00 CST 2020 0 904
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM