Vertx - 线程模型原理
2021-03-25 23:10:36 0 举报
登录查看完整内容
Vertx线程模型,Vertx与Netty的绑定关系
作者其他创作
大纲/内容
EventLoopGroup
EventLoop
关系绑定
next()
select O(n)poll O(n)epoll O(1)
handler
Context - 1
start
consumer-1
IO
end
Context - 2
read()accept()
TaskQueue
consumer-2
send
Thread
msg
Verticle
WorkerPool
jdk-selector
select()
VerticleHolder
chooser
runAllTasks()
vertx.createEventLoopContext()group.next()
Context
handleEvent
context
NioEventLoop
VertxImpl
verticle
processSelectedKeys()
blocking
Other
accept
NioEventLoop.run()
第一次调用execute方法时触发线程分配,NioEventLoop的run方法开始执行
VertxThread - 双向绑定
HandlerRegistration
Consumer消费
selector
事件循环
Selector
Context分配
Time
EventBus
DeploymentManager
taskQueue
task添加时会唤醒Selector
MessageConsumer
register
pre
loop
receive到消息时由EventLoop线程执行context.nettyEventLoop().execute
workerPool
每个线程包含一个ContextVertxThread - 成员变量contextThread - ThreadLocal - context
EventLoopGroup
address
0 条评论
回复 删除
下一页