线程模型基本介绍
线程模型基本介绍
-
不同的线程模式,对程序的性能有很大影响,为了搞清Netty 线程模式,我们来系统的讲解下 各个线程模式, 最后看看Netty 线程模型有什么优越性.
-
目前存在的线程模型有:
- 传统阻塞 I/O 服务模型
- Reactor 模式
-
根据 Reactor 的数量和处理资源池线程的数量不同,有 3 种典型的实现
- 单 Reactor 单线程;
- 单 Reactor 多线程;
- 主从 Reactor 多线程
-
Netty 线程模式
(Netty 主要基于主从 Reactor 多线程模型做了一定的改进,其中主从 Reactor 多线程模型有多个 Reactor)
¶传统阻塞 I/O 服务模型
工作原理图
黄色的框表示对象, 蓝色的框表示线程
白色的框表示方法(API)
模型特点:
- 采用阻塞IO模式获取输入的数据
- 每个连接都需要独立的线程完成数据的输入,业务处理, 数据返回
存在问题:
-
当并发数很大,就会创建大量的线程,占用很大系统资源
-
连接创建后,如果当前线程暂时没有数据可读,该线程会阻塞在read 操作,造成线程资源浪费
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达,邮件至 708801794@qq.com
文章标题:线程模型基本介绍
文章字数:319
本文作者:梅罢葛
发布时间:2020-04-18, 13:09:51
最后更新:2020-04-26, 23:34:21
原始链接:https://qiurungeng.github.io/2020/04/18/%E7%BA%BF%E7%A8%8B%E6%A8%A1%E5%9E%8B%E5%9F%BA%E6%9C%AC%E4%BB%8B%E7%BB%8D/