摘要: 1.概述 在Reactor单线程版本的设计中,I/O任务乃至业务逻辑都由Reactor线程来完成,这无疑增加了Reactor线程的负担,高负载情况下必然会出现性能瓶颈。此外,对于多处理器的服务器来说,单个Reactor线程也发挥不了多CPU的最大功效。下面我们对之前单线程版的Reactor进行改进。 阅读全文
posted @ 2018-12-19 17:00 上台阶 阅读(761) 评论(0) 推荐(0) 编辑
摘要: Reactor模型是典型的事件驱动模型。在网络编程中,所谓的事件当然就是read、write、bind、connect、close等这些动作了。Reactor模型的实现有很多种,下面介绍最基本的三种: 单线程版 多线程版 主从多线程版 Key Word:Java NIO,Reactor模型,Java 阅读全文
posted @ 2018-12-19 16:59 上台阶 阅读(1033) 评论(0) 推荐(0) 编辑
摘要: 阻塞/非阻塞 + 同步/异步 其实,这两者存在本质的区别,面向的对象是不同的。 阻塞/非阻塞:进程/线程需要操作的数据如果尚未就绪,是否妨碍了当前进程/线程的后续操作。 同步/异步:数据如果尚未就绪,被调用方是否需要拿到数据结果再返回。 reactor: 通知我有就绪状态了, preactor:通知 阅读全文
posted @ 2018-12-19 16:55 上台阶 阅读(178) 评论(0) 推荐(0) 编辑