当前位置:首页 > 开发 > 编程语言 > 网络编程 > 正文

netty源码分析之ChannelFuture

发表于: 2013-01-26   作者:asialee   来源:转载   浏览次数:
摘要:            在netty里面所有的nio相关的操作都是异步的,返回一个channelfuture对象,这个里面可以添加一些listener,然后再相关操作完成后进行触发,最主要的是通过这个对象可以查询相关操作的执行情况,是成功了,还是失败了。          我们来就来看看D

           在netty里面所有的nio相关的操作都是异步的,返回一个channelfuture对象,这个里面可以添加一些listener,然后再相关操作完成后进行触发,最主要的是通过这个对象可以查询相关操作的执行情况,是成功了,还是失败了。

         我们来就来看看DefaultChannelFuture的实现就好,我们应该能猜到netty的思想,里面有一个listener的集合,addListener会添加listener到集合里面,然后再真正的io操作完成之后来触发相应的listener,这里面有很多关于多线程的程序,这个还不是很了解,应该后面多恶补恶补。

          

private void notifyListeners() {
        // This method doesn't need synchronization because:
        // 1) This method is always called after synchronized (this) block.
        //    Hence any listener list modification happens-before this method.
        // 2) This method is called only when 'done' is true.  Once 'done'
        //    becomes true, the listener list is never modified - see add/removeListener()
        if (firstListener != null) {
            notifyListener(firstListener);
            firstListener = null;

            if (otherListeners != null) {
                for (ChannelFutureListener l: otherListeners) {
                    notifyListener(l);
                }
                otherListeners = null;
            }
        }
    }

 

netty源码分析之ChannelFuture

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
Future,在Netty中所有的IO操作都是异步的,因此,你不能立刻得知消息是否被正确处理,但是我们可以
netty里面最重要的应该是ChannelHandler,这个里面也是用户编程直接打交道的接口,也是串行于Channe
netty里面最重要的应该是ChannelHandler,这个里面也是用户编程直接打交道的接口,也是串行于Channe
下文将剖析ServerBootstrap.bindAsync()方法所涉及到的流程。 1.概念 ChannelHandler分ChannelUpstre
先看下netty的channel对象关联关系。channel是由channelfactory来创建的,channelfactory又分为clie
先从EventExecutor开始,因为它是一个很基础的工具类,是对I/O线程的包装。先了解下它的源码会对后面
本文采用版本为Jboss Netty-3.2.4.Final,Jboss Netty示例example、几十页的user guide是快速学习的
本文为原创,转载请注明出处 netty 4源码分析-write Netty的写操作由两个步骤组成: Write:将msg存
看了两天的netty源码,现在总算有了些眉目了。下面是用excel画的一个简单的结构图 Channel是对最终I/
本文为原创,转载请注明出处 Netty4源码分析- read 当selector检测到OP_READ事件时,触发read操作:
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号