1 record jvm io模型 多线程
类型 | jvm | io module | thread | 结论 |
---|---|---|---|---|
单个接收 单个处理 | Serial GC | BIO | newSingleThreadExecutor | 接收和处理都是单线程 |
单个接收 多个处理 | ParNew | NIO 改进 Reacot-02 多线程 | newCacheThreadPool | 接收单线程 处理多线程 |
多个接收 多个处理 | Parallel GC | NIO React 03 主从多线程 | newFixedThreadPool | 接收和处理都是多线程 |
注:后面的thread的比较可能不是很准确,等后面我找到好的比对项再修改,注意独立思考。
同步:A线程啥时都他干,A不干完 ,后面的任务都只能等着。
异步:A线程只要发个通知在公告栏,B线程就来拿任务处理,A就去干他的事情了,他可能去接着领任务了,或者泡妞去了,B干完了就会来通知他,处理和接收线程不是同一线程
BIO: 堵塞 我去排队买喜茶,前面的人不买完,我就买不了,这段时间我干不了其它的事情
AIO:非堵塞 我去排队买喜茶, 我不排队列,去旁边干其它事,等轮到我了,工作人员再通知我
注意:(有人就要说了:你离开队伍了,还能回去吗,工作人员为啥又要通知你,答:在现实生活里确实不可以 但我是拿这个理解让你明白AIO的意思,丢个任务出去,等别人那边处理好了,再来通知我)
2 比较个东西的区别
待补充中。。。。