最近搜索
暂无搜索记录
热搜
JAVA
大数据
分布式
Python
人工智能
爬虫
WEB
JavaScript
认证
老师麻烦帮忙看下两个问题
1。 关于bio nio的理解是否有误:
假设我这是4核
bio:
我的最大并行数是4,但应该支持更大的并发,在进行java io 操作的时候线程会进行wait,会把线程控制权让出给其他线程,所有的socket client 内容,都保存在各个线程中。
nio:
会抽1根线程出来里面有个while的epoll 队列 出来,当发起同步非阻塞io时,程序可以接着跑(除非我需要使用到他),直到我需要使用这个io 的返回值时,他也会阻塞当前线程.
2。如图我曾经使用过一个响应式服务端框架vertx 他是这么定义的,他提倡万物皆为事件驱动,并实现了各种非阻塞的客户端如数据库,redis,mq,http等,他的所有api都会做成非阻塞,并使用一个eventloop维护事件总线,之前我一直认为这是nio,但是之前老师讲到 听callback的形式其实是aio 所以我有点疑问,这个到底是nio还是aio
3。关于2题的rx系列框架是否有深入研究的必要,响应式框架我用下来解决一些 传统命令式开发模式的问题,但是也引入了一些问题,如 维护堆栈上下文日志(因为线程会飘来飘去甚至跑在了不同机器上),数据库的事务回滚变得异常的困难,ThreadLocal变得无法使用。