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

用ps怎么做网站背景产品推广的目的和意义

用ps怎么做网站背景,产品推广的目的和意义,赣县网站建设,现代简约设计风格说明文章目录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状态,结果可能有三种:
  1. 操作成功
  2. 操作失败
  3. 操作取消

在这里插入图片描述

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// ...}});}

ChannelFutureListenerGenericFutureListener的实现类, 用于添加异步回调事件

ChannelFuture 允许添加一个或多个GenericFutureListener监听接口。

在这里插入图片描述

添加监听器源码:

    @Overridepublic Promise<V> 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/806918/

相关文章:

  • 建 新闻 网站营销战略有哪些内容
  • 营销融合app网站seo招聘
  • 快速做网站的方法网站换了域名怎么查
  • 建筑工程网络计划图怎么编制百度seo搜索排名
  • 免费建网站系统百度云登陆首页
  • wordpress 采集微博网站建设优化
  • 做淘宝客新增网站推广百度用户服务中心人工电话
  • 域名备案网站建设书模板百度统计登录
  • 禁止WordPress访问官网优化关键词排名提升
  • 爬取漫画数据做网站今日热搜新闻头条
  • 雄安网站建设制作网站关键词如何快速上首页
  • 佛山从事网站建设百度小程序入口官网
  • 自建网站平台可以实现哪些功能网络营销这个专业怎么样
  • 佛山新网站制作公司网页制作成品模板网站
  • 校园网站建设的意见企业管理培训课程网课
  • 郑大远程教育动态网站建设seo优化关键词排名
  • 做logo什么网站昆明百度关键词优化
  • 怎样做省钱购物网站sem推广代运营
  • 英文网站开发公司万网阿里云域名查询
  • 做调查问卷网挣钱的网站新闻 今天
  • 网站建设工作小组在线建站平台免费建网站
  • 可以发广告的网站湖南seo推广系统
  • 大丰网站建设哪家好成都seo
  • 学校网站建设项目的wbsseo交流qq群
  • 筑梦网站建设西安百度竞价开户
  • 个体营业执照可以做网站搞推广吗推广网站制作
  • 公共交通公司网站建设方案移动慧生活app下载
  • 国内开源代码网站搜了网推广效果怎么样
  • html5 metro风格网站模板今日新闻事件
  • 网站不在首页显示出来做网络推广