【问题标题】:Wha't the difference between Channel#write(msg) and Channel#write(msg, promise)?Channel#write(message) 和 Channel#write(msg, promise) 有什么区别?
【发布时间】:2014-03-07 06:40:16
【问题描述】:

我正在阅读 Netty 频道的 Javadoc: http://netty.io/4.0/api/io/netty/channel/Channel.html

但它没有解释Channel#write(msg)Channel#write(msg, promise) 之间的区别。第二种方法中promise的作用是什么?

【问题讨论】:

    标签: netty


    【解决方案1】:

    ChannelPromise 是一个特殊的可写 ChannelFuture,一旦 IO 操作完成就会得到通知。

    方法Channel#write(msg) 将委托给Channel#write(msg, promise),并使用netty 创建的DefaultChannelPromise 作为第二个参数

    【讨论】:

    • 那么,我可以通过我自己的Promise 来在通道写入操作刷新到套接字时得到通知?
    【解决方案2】:

    Promise 是可以修改的 Future;更多信息请参考https://github.com/netty/netty/pull/873

    【讨论】:

      猜你喜欢
      • 2021-04-25
      • 1970-01-01
      • 1970-01-01
      • 2012-02-04
      • 1970-01-01
      • 2020-08-08
      • 2013-11-14
      • 2018-12-13
      • 2013-08-08
      相关资源
      最近更新 更多