Netty启动流程及源码分析
摘要:在EventLoopGroup事件循环组(线程组)继承体系对Netty线程池体系有了充分了解,本文继分析其启动过程。在Netty编程模型入门案例中无论客户端还是服务端都是先对ServerBootStrap进行配置,参考下面的类图: group返回的是BootStrap本身: 在进行channel,h
阅读全文
posted @
2024-06-26 18:49
池塘里洗澡的鸭子
阅读(6)
推荐(0) 编辑
EventLoopGroup事件循环组(线程组)继承体系
摘要:在Netty线程模型概述已知EventLoopGroup是Netty中线程池的封装,其继承体系参考下图: 绿框中的是JDK提供的,可以看到Netty中线程池实现与JDK提供的完全不搭界——即完全不同实现。具体为: 通过跟踪调试源码,其处理流程具体如下:
阅读全文
posted @
2024-06-25 18:56
池塘里洗澡的鸭子
阅读(5)
推荐(0) 编辑
多线程设计模式之Future模式
摘要:在JDK中实现线程同步等待闭环(FutureTask/Future)中已经涉及到了Future模式,相对与多线程设计模式之Worker Thread模式有何异同呢?在多线程设计模式之Worker Thread模式中client和worker之间没有任何直接联系,即worker执行的结果client是
阅读全文
posted @
2024-06-20 10:23
池塘里洗澡的鸭子
阅读(20)
推荐(0) 编辑
多线程设计模式之Worker Thread模式
摘要:以前用C/C++写进程池,要么一下子fork最大进程数,要么来一个任务fork一个进程。多线程也可以这样设计,并总结这种模式为Worker Thread模式。 类图如下: 具体实现参考如下代码(一次性开启足够多的线程): 1)Request Request角色表示工作。Request角色中保存了工作
阅读全文
posted @
2024-06-19 12:31
池塘里洗澡的鸭子
阅读(22)
推荐(0) 编辑
Netty线程模型概述
摘要:在Netty编程模型入门案例中客户端和服务端通信底层如何实现的呢?先看客户端和服务端的类图: 两类图大致一样,区别在于ServerBootstrap与EventLoopGroup是组合关系,而Bootstrap与EventLoopGroup之间没有直接的关系。实际在操作过程中也是ServerBoot
阅读全文
posted @
2024-06-04 14:54
池塘里洗澡的鸭子
阅读(6)
推荐(0) 编辑
Netty编程模型入门案例
摘要:在Socket编程模型可以看到发送数据和响应数据直接涉及到的是I/O模型,基于TCP/IP的socket编程使用的是流套接字。那什么是I/O模型呢?简单的理解就是用什么样的通道进行数据的发送和接收——这很大程度上决定了程序通信的性能。 下面介绍另一种编程模式——Netty框架的入门案例: 服务端实现
阅读全文
posted @
2024-06-04 10:39
池塘里洗澡的鸭子
阅读(14)
推荐(0) 编辑
Socket编程模型
摘要:Socket,套接字就是两台主机之间逻辑连接的端点,其属于TCP/IP协议中的传输层协议,主要解决数据如何在网络中传输。而HTTP是应用层协议,主要解决如何包装数据(数据的格式化)。 Socket是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行
阅读全文
posted @
2024-06-03 12:45
池塘里洗澡的鸭子
阅读(7)
推荐(0) 编辑