IO线程模型一直在演化,由最开始的单线程模型,到BIO方式的单线程接受请求线程池线程具体处理单个请求的读写事件,再到NIO的单线程接受请求线程池里面的单个线程可以处理不同请求的读写事件,一个字没有最快,只有更快。最近发现还有个Leader-follower线程模型,其的出现是为了解决单线程接受请求线程池线程处理请求下线程上下文切换以及线程间通信数据拷贝的开销,并且不需要维护一个队列。
image.png
可知这种模式下接受请求和进行处理使用的是同一个线程,这避免了线程上下文切换和线程通讯数据拷贝。
本文作为笔记,记录了Leader-follower线程模型原理,后期有时间写个关于BIO,NIO,LF模型的比较,敬请期待。
Java 并发编程之美-高级篇之三 本 Chat 作为 Java 并发编程之美系列的高级篇之三,主要讲解锁,内容如下: