社区
Java EE
帖子详情
关于selector+多线程io的使用~~~求思路
Norfloxacin
2012-10-22 08:37:05
想做一个selector+线程池的读数据的系统,但是想到了个很大的问题:
当收到OP_READ信号时候,发配任务让线程池去读数据,这时候数据可能还没读完,下一轮的select()又开始了,因为之前的那个channel还没读完,于是又会收到一个OP_READ的信号,虽然我可以控制这次不再发配任务给线程池,但是这段时间select()会无形中变成了非阻塞,严重影响到系统的性能。该如何解决啊?
...全文
198
6
打赏
收藏
关于selector+多线程io的使用~~~求思路
想做一个selector+线程池的读数据的系统,但是想到了个很大的问题: 当收到OP_READ信号时候,发配任务让线程池去读数据,这时候数据可能还没读完,下一轮的select()又开始了,因为之前的那个channel还没读完,于是又会收到一个OP_READ的信号,虽然我可以控制这次不再发配任务给线程池,但是这段时间select()会无形中变成了非阻塞,严重影响到系统的性能。该如何解决啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Norfloxacin
2012-10-22
打赏
举报
回复
继续顶...求思路
想喝咖啡的貓
2012-10-22
打赏
举报
回复
厉害,大部分应界生连IO和NIO的区别都还没搞明白呢。
我写过好几个网络NIO+多线程,全部失败。。。
Norfloxacin
2012-10-22
打赏
举报
回复
那样谁知道epoll里怎么设置是lt模式还是et模式?这个是在Linux下设置吗?
Norfloxacin
2012-10-22
打赏
举报
回复
没用过啊~~而且我是要自己写项目,应届生要找工作~~~要回答问题的~~~谁知道怎么设计啊
龙四
2012-10-22
打赏
举报
回复
若有可能,应使用成熟的MINA,netty等开源框架
Norfloxacin
2012-10-22
打赏
举报
回复
顶上去~~~急需啊
【Python全栈】第十二周 Python网络爬虫框架
本周课程主要讲解Scrapy框架的
使用
。具体有:Scrapy框架介绍与安装、框架的
使用
、
Selector
选择器、Spider的
使用
、在Middleware中间件中
使用
Selenium和代理服务、ItemPipeline的
使用
。关于实战案例有:爬取我爱我家的楼盘信息、豆瓣图书Top250信息爬取实战,CSDN博客信息爬取实战。
N
IO
之多
Selector
多
线
程模式(四)
细节重点!
Selector
.select()只对这个方法被调用前注册进来的事件才会被监听。如果在这个方法阻塞后,有其他
线
程往这个
selector
注册事件,不会被监听到! 这个带来的影响直接影响多
线
程多
Selector
的程序设计!!! 初步引入netty原理图,帮助理解上述细节 下图中,select->processSelectedKeys->runAllTasks在while(true)中不断循环(loop),select从阻塞返回,处理相应的keys后,调用runAllTasks方法,将se
【N
IO
与Netty】Java N
IO
入门:多
线
程多
Selector
模式,零拷贝,同步阻塞、同步非阻塞、同步多路复用、异步非阻塞的区别
尚硅谷+黑马 学习总结:从操作系统的底层逻辑解释同步阻塞、同步非阻塞、同步多路复用、异步非阻塞的区别,分析零拷贝的概念。多
线
程多
Selector
模式
Netty框架之多
线
程的
Selector
优化
Netty框架之多
线
程的
Selector
优化1.一个Boss
线
程,一个Woker
线
程实现服务器2.一个Boss
线
程,多个Woker
线
程实现服务器 学习
Selector
之后,我们发现单个
Selector
轮询器在一个
线
程中既要处理连接事件(OP_ACCPET),又要处理
IO
读写事件(OP_READ,OP_WRITE),效率是很低的,所以利用多
线
程创建多个
Selector
分别负责连接事件,
IO
读写事件,充分利用电脑的CPU资源. 那么这里我们就分类两个
线
程: 1.Boss
线
程:专门负责OP_ACCPET事件,也就
深入理解网络 I/O:单
Selector
多
线
程|单
线
程模型
该篇博文主要介绍多路复用模型 Epoll 下单
Selector
多
线
程与单
线
程之间的区别,先是说明了在单
Selector
非
线
性模型下-多
线
程会造成读、写事件重复触发的问题, 通过图解和 strace 追踪日志的方式说明了它的缺点,解决事件重复触发问题通过 Select
io
nKey#cannel 来进行解决,莫须有这种方式不可取会造成假死
线
程|资源停滞不释放问题,后者介绍了单个
Selector
单 Group 解决这种假死资源的存在问题,结合
Selector
#wakeup + 链接阻塞队列的方式来完
Java EE
67,515
社区成员
225,878
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章