io/nio

https://crossoverjie.top/2018/07/04/netty/Netty(2)Thread-model/

大概是这样,其实主要想表达的是:这样一个线程只能处理一个连接

 

如果是 100 个客户端连接那就得开 100 个线程,1000 那就得 1000 个线程。

要知道线程资源非常宝贵,每次的创建都会带来消耗,而且每个线程还得为它分配对应的栈内存。

即便是我们给 JVM 足够的内存,大量线程所带来的上下文切换也是受不了的。

并且传统 IO 是阻塞模式,每一次的响应必须的是发起 IO 请求,处理请求完成再同时返回,直接的结果就是性能差,吞吐量低。

 

Reactor 模型

因此业界常用的高性能 IO 模型是 Reactor

它是一种异步、非阻塞的事件驱动模型。

通常也表现为以下三种方式:

posted @ 2019-08-05 20:19  小蚊子大人KN  阅读(128)  评论(0编辑  收藏  举报