【从入门到放弃-Java】并发编程-NIO-Selector
前言
前两篇【从入门到放弃-Java】并发编程-NIO-Channel和【从入门到放弃-Java】并发编程-NIO-Buffer中我们学习了NIO中两个重要的概念Channel和Buffer。
今天我们来看下另一个重要的内容 Selector
简介
Selector是多路复用器,会不断轮询已经注册了的Channel。当有注册的channel产生连接、读、写等事件时,就会被Selector发现,从而可以进行相关后续操作。
Selector的好处是,可以通过一个线程来管理多个通道,减少了创建线程的资源占用及线程切换带来的消耗
Selector
SelectableChannel可以通过SelectionKey(记录channel和selector的注册关系)注册到Selector上。Selector维护了三个SelectionKey集合:
- key s
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
突破Java面试(35)-Dubbo负载均衡及动态代理的策略
0 Github 1 面试题 Dubbo负载均衡策略和集群容错策略都有哪些?动态代理策略呢? 2 考点分析 这些都是关于Dubbo必须知道,基本原理,序列化是什么协议,具体用dubbo的时候,如何负载均衡,如何高可用,如何动态代理等. 就是看你对Dubbo掌握程度 工作原理:服务注册,注册中心,消费者,代理通信,负载均衡 网络通信、序列化:dubbo协议,长连接,NIO,hessian序列化协议 负载均衡策略,集群容错策略,动态代理策略:dubbo跑起来的时候一些功能是如何运转的,怎么做负载均衡?怎么做集群容错?怎么生成动态代理? dubbo SPI机制:你了解不了解dubbo的SPI机制?如何基于SPI机制对dubbo进行扩展? 3 负载均衡策略 3.1 random loadbalance dubbo默认采用random load balance,
- 下一篇
Python3入门(八)模块
模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用python 标准库的方法。 一、import语句 使用 Python 源文件,只需在另一个源文件里执行 import 语句,语法如下import module1[, module2[,... moduleN]当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导入。搜索路径是一个解释器会先进行搜索的所有目录的列表,以下为一个demo test.py文件,用于其他文件导入 def test(): print("hello import") test2.py文件,引入test.py import test test.test() 输出:hello import一个模块只会被导入一次,不管你执行了多少次
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS8编译安装MySQL8.0.19
- Docker安装Oracle12C,快速搭建Oracle学习环境