Reactor模式
2021-04-17 14:30:24 20 举报
Reactor模式
作者其他创作
大纲/内容
请求
process2
单Reactor单线程模式
process3
Thread Pool
acceptor
Handler1
客户端
线程
subReactor
......
多Reactor多线程模式
dispatch分发器
peocess1
Reactor
写操作
Server
mainReactor
读操作
mainReactor负责监听客户端的连接,然后把Channel注册到subReactor上
基本IO模式
select
Handler
server导致阻塞的原因:1、serversocket的accept方法,阻塞等待client连接,直到client连接成功。2、线程从socket inputstream读入数据,会进入阻塞状态,直到全部数据读完。3、线程向socket outputstream写入数据,会阻塞直到全部数据写完。
单Reactor多线程模式
client导致阻塞的原因:1、client建立连接时会阻塞,直到连接成功。2、线程从socket输入流读入数据,如果没有足够数据读完会进入阻塞状态,直到有数据或者读到输入流末尾。3、线程从socket输出流写入数据,直到输出所有数据。4、socket.setsolinger()设置socket的延迟时间,当socket关闭时,会进入阻塞状态,直到全部数据都发送完或者超时。
0 条评论
下一页