当前位置: 首页 > news >正文

设计师经常上的网站南昌网站建设信息

设计师经常上的网站,南昌网站建设信息,江苏华建建设股份有限公司网站,搭建集团网站文章目录1.Channel介绍2.ChannelFuture接口介绍3.GenericFutureListener接口介绍1.Channel介绍 NIO的Channel与Netty的Channel 不一样 Netty重新设计了Channel接口,并且给予了很多不同的实现, Channel是Netty网络的抽象类, 除了NIO中Channel所包含的网络I/O操作, 主动建立和关… 文章目录1.Channel介绍2.ChannelFuture接口介绍3.GenericFutureListener接口介绍1.Channel介绍 NIO的Channel与Netty的Channel 不一样 Netty重新设计了Channel接口,并且给予了很多不同的实现, Channel是Netty网络的抽象类, 除了NIO中Channel所包含的网络I/O操作, 主动建立和关闭连接外, 还包括了Netty框架的功能, 比如获取Channel的EventLoop和Pipeline。 Channel的基本方法 id():返回此通道的全局唯一标识符.isActive():如果通道处于活动状态并连接,则返回true.isOpen():如果通道打开并且可能稍后激活,则返回true.isRegistered():如果通道注册了EventLoop则返回true。config():返回关于此通道的配置.localAddress():返回此通道绑定的本地地址.pipeline():返回分派的ChannelPipeline.remoteAddress():返回此通道连接到的远程地址.flush():请求通过ChannelOutboundInvoker将所有挂起的消息输出. Channel接口是能与一个网络套接字(或组件)进行I/0操作(读取\写入\连接\绑定)的纽带通过Channel可以获取连接的状态(是否连接/是否打开), 配置通道的参数(设置缓冲区大小等), 进行I/O操作 Channel的释放 当Channel完成工作后, 需要调用ChannelOutboundInvoker.close()或ChannelOutboundInvoker.close(ChannelPromise)释放所有资源. 这样做是为了确保所有资源(文件句柄)都能够得到释放 2.ChannelFuture接口介绍 Future最早出现于JDK的java.util.concurrent.Future, 表示异步操作的结果, 由于Netty的Future都是与异步I/O操作相关的, 因此命名为ChannelFuture, 代表它与Channel操作相关。 ChannelFuture的作用是用来保存Channel异步操作的结果, 提供了一种在操作完成时通知应用程序的方式。 Channel与ChannelFuture可以说形影不离的。 Channel channel(); ChannelFuture addListener(GenericFutureListener? extends Future? super Void listener); ChannelFuture addListeners(GenericFutureListener? extends Future? super Void... listeners); ChannelFuture removeListener(GenericFutureListener? extends Future? super Void listener); ChannelFuture removeListeners(GenericFutureListener? extends Future? super Void... listeners); ChannelFuture sync() throws InterruptedException; ChannelFuture syncUninterruptibly(); ChannelFuture await() throws InterruptedException; ChannelFuture awaitUninterruptibly();ChannelFuture有两种状态:未完成(uncompleted)和完成(completed)当令Channel开始一个I/O操作时,会创建一个新的ChannelFuture去异步完成操作被创建时的ChannelFuture处于uncompleted状态(非失败,非成功,非取消);一旦ChannelFuture完成I/O操作,ChannelFuture将处于completed状态,结果可能有三种: 操作成功操作失败操作取消 3.GenericFutureListener接口介绍 GenericFutureListener是监听接口 优先使用addListener(GenericFutureListener)而非await()或sysn() addListener是非阻塞的, 把特定的ChannelFutureListener添加到ChannelFuture中, ChannelFutureListener会利于最佳的性能和资源的利用。await()是一个阻塞的操作。ChannelFuture的sync()方法, 作用是阻塞main线程, 等到连接建立好程序才向下运行。Channel由主线程获取。sync () 会抛出异常, 建议使用 sync (), await () 不会抛出异常, 主线程无法捕捉子线程执行抛出的异常。ChannelFuture用addListener()方法。异步调用回调对象的operationComplete方法。 Overridepublic void channelRead(ChannelHandlerContext ctx, Object msg) {ChannelFuture future ctx.channel().close();future.addListener(new ChannelFutureListener() {public void operationComplete(ChannelFuture future) {// Perform post-closure operation// ...}});}ChannelFutureListener是GenericFutureListener的实现类, 用于添加异步回调事件 ChannelFuture 允许添加一个或多个GenericFutureListener监听接口。 添加监听器源码: Overridepublic PromiseV addListeners(GenericFutureListener? extends Future? super V... listeners) {checkNotNull(listeners, listeners);synchronized (this) {for (GenericFutureListener? extends Future? super V listener : listeners) {if (listener null) {break;}addListener0(listener);}}if (isDone()) {notifyListeners();}return this;}addListener0() 负责把用户一个一个添加的listener对象转换为数组结构DefaultFutureListeners, 存储到listeners 成员变量 notifyListeners() 将通知回调任务添加到eventloop当中, eventloop当中的任务顺序就最后是notifyListeners(), 保证了发送消息后, 执行notifyListeners去调用监听器。
http://www.hkea.cn/news/14527430/

相关文章:

  • 学校的网站怎么做的好wordpress登录更改域名后
  • 营销网站制作信ls15227无锡网站建设推广服务
  • 网站建设 从用户角度开始有可以花钱让人做问券的网站吗
  • 商品分类批量导入wordpress信息流优化师工作总结
  • 自动成交型网站做图片网站
  • php网站广告管理系统1688加工厂接单
  • 南和邢台网站制作wordpress字菜单
  • 如何在iis下建设网站医疗设备响应式网站
  • 设计师用的素材网站有哪些做网站开发考什么研
  • 大型定制网站最贵建设多少钱WordPress图片直链插件
  • 沈阳网站建设三好街厦门大型网站设计公司
  • 通州专业网站制作台州建站网站模板
  • 免费网站如何注册重庆网站建设方案
  • 西安户县建设厅网站国外分销平台有哪些
  • 网站换源码如何保留以前的文章近期新闻热点事件简短
  • 备案不关闭网站优设网文案下载
  • 网站建设吸引人的话语苏州网站开发公司济南兴田德润厉害吗
  • 给个高质量的网站搜狗推广手机客户端
  • 无锡信息网站建设北京赛车手机网站建设
  • 重庆网站建设报价wordpress 数据 清理
  • 网站营销单页怎么设计方案上海阿里巴巴网站建设
  • seo整站优化更能准确获得客户珠宝购物网站的建设
  • app开发网站建设培训班项目招商网站大全
  • 网站制作首页那种漂亮的网站怎么做的
  • 网络营销个人网站wordpress制作挂件
  • 亳州建设网站西安保障性住房建设投资中心网站
  • 太原网站建设制作报价qq小程序怎么打开
  • 网站后台可以备份吗有免费建网站
  • 全屏家居网站模板许昌市住房和城乡建设局网站
  • wordpress做手机网站青岛网站建设华夏