网络连接和线程的所需要的资源

本文探讨了网络连接(如HTTP、数据库连接)和线程在建立和销毁过程中为何耗费资源,主要涉及TCP连接的可靠性机制和线程所需的内存资源。连接需要接收缓存、发送缓存和TCB等资源,而线程则需要程序计数器、寄存器、堆栈和状态等资源。在Java中,线程对象和连接对象比普通对象多了这些必要的数据结构。
摘要由CSDN通过智能技术生成

一、疑问

     在刚开始接触网络连接(eg:http连接,或者是数据库连接)和线程的时候,就有看过这样的结论:连接或者线程的建立是很耗费资源的。也正因为这样,所以对于连接,在实际的运用当中,是会利用连接池来对其进行重用的。对于线程也是这样,会使用线程池来对其进行重用。 但是,一直困惑我的问题是:

  (1)为什么连接或者线程会占用的建立和销毁会很耗费资源,这些资源是指什么资源?

  (2)在java语言里面,相比普通对象而言,线程对象,连接对象有什么区别?


二、关于连接和线程

      (1)连接(eg:tcp连接,数据库连接(底层也是tcp连接)):因为连接不是物理上的连接,而是虚拟的连接。为了使得虚拟的连接获得和物理上的连接一样的效果(使得

                数据就像是顺序到达的那样),需要提供可靠性保证等机制。这些机制的建立需要借助---接收缓存,发送缓存,TCB(传输控制模块,tcp软件维护的数据结构,用来

  记 录, 缓存位置,当前发送序号,接收序号,窗口大小等等的信息)等等模块的帮助。所以说在建立连接的过程中,需要为上面所说的模块分配相应的资源。

      (2)线程:在创建线程的时候,需要为期分配

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值