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

华润集团网站建设商重庆做网站的公司

华润集团网站建设商,重庆做网站的公司,阿里云网站建设9元,驻马店网站建设熊掌号NIO底层是用Selector、Channel和ByteBuffer来实现的。主线程在循环使用select方法进行阻塞等待,当有acceptable(可连接)、readable(可读)或者writable(可写)事件发生的时候,循环就会…

NIO底层是用Selector、Channel和ByteBuffer来实现的。主线程在循环使用select方法进行阻塞等待,当有acceptable(可连接)、readable(可读)或者writable(可写)事件发生的时候,循环就会往下走,将对应的事件交给对应的事件处理器进行处理。

他可以多线程的,可以有多个accept()线程和多个worker线程。

解释

  • Channel(通道):是Java NIO中的一个核心概念,用于数据的读写操作。它是双向的,但具体使用时可能只关注读或写操作。常见的Channel有SocketChannel(用于TCP连接)、ServerSocketChannel(用于监听TCP连接)、DatagramChannel(用于UDP连接)和FileChannel(用于文件操作)等。

  • Selector(选择器):是Java NIO中的一个可以检查一个或多个NIO Channel,并确定哪些Channel已经准备好进行读、写或其他I/O操作的组件。一个Selector可以管理多个Channel,因此,单个线程可以使用Selector来管理多个Channel的I/O事件。

  • SelectionKey(选择键):代表了一个特定的Channel和它的Selector之间的注册关系。SelectionKey包含了Channel的状态信息,如是否可读、可写或连接就绪等。

工作流程

  1. 创建Selector:首先,需要创建一个Selector实例。

  2. 注册Channel到Selector:将Channel注册到Selector上,并指定该Channel感兴趣的事件(如读、写、连接等)。这个注册过程会返回一个SelectionKey,它代表了Channel和Selector之间的注册关系。

  3. 选择已就绪的Channel:通过Selector的select()selectNow()等方法来检查是否有Channel已就绪(即已经准备好进行读、写或其他操作)。如果有,则将这些Channel的SelectionKey放入到已选择键集合中。

  4. 处理已就绪的Channel:遍历已选择键集合,根据每个SelectionKey的状态(如是否可读、可写等)来处理对应的Channel。

  5. 重复步骤3和4:不断重复检查和处理过程,以持续管理多个Channel的I/O操作。

http://www.yayakq.cn/news/704753/

相关文章:

  • 没后台的网站怎么做优化设计模式
  • 做组织架构图的网站在线网站备份
  • 做网站空机关网站建设需求文档
  • 中国网站用Cn域名安徽制作网站的公司哪家好
  • 阳江营销型网站建设做视频网站适合用什么服务器
  • unity3d做网站外贸网站推广计划书
  • 上海浦东做网站wordpress放置html
  • wordpress 启用多站点昆明app网站开发公司
  • 网站开发人员招聘要求抚顺市网站建设
  • 陕西网站开发公司哪家好新北仑网站怎么做的
  • 哈尔滨企业建站drupal joomla wordpress 移动设备
  • 做网站外包公司怎样创建一个网站平台
  • 网站单子最近韩国电影片在线观看免费高清中文
  • 广州深圳做网站上海谷歌seo公司
  • 招聘网站页面乐清做网站的公司
  • 网站备案他可以经营吗养生网站策划
  • 网站建设多少钱裤网站建设高级开发语言
  • 腾讯云网站备案不能用阿里云建网站免费咨询
  • 做网站mfdos简单的小公司企业简介
  • 长沙电商网站ppt素材大全免费下载
  • 网站网站建设网站泰州网站制作专业
  • 做天猫网站要多少钱网页制作与网站建设课堂实录
  • 绥中做网站公司漳州博大网站建设
  • 信息门户网站建设报价岐山网站开发
  • 如何做网站静态页面药品招商网站大全
  • 电脑报价网站网站建设同行友情链接
  • 怎么建网站视频互联网营销师题库及答案
  • 惠州惠阳网站建设做暧昧免费视频大全网站
  • 手机短视频网站的建设wordpress 鼠标悬停
  • 怎么在百度上做公司网站电商平台怎么加入