“可运行线程池”,“线程池”,“连接池”的区别

本文解释了线程池的基本概念,强调了OS和组件如何提供线程池空间,以及CPU如何调度。重点介绍了线程池状态、线程复用和组件如JVM/Tomcat的角色。同时提到了连接池的概念,作为资源管理的一种方式。

1.首先可运行线程池,是一直有的,属于OS部分的,它是用来存 就绪态线程的地址的

2.而我们常说的 线程池,实际就是,已经开辟好的 一块线程池空间,这个空间,与普通的 用于创建线程的空间 区分开来,是两块空间

3.这个是有我们组件提供的,例如jvm,tomcat…,他们有特别的提高线程池的功能,他们会化一块空间,并将所有线程全部创建好,这个线程池 就等于 这块已经创建好的 线程空间,并且刚刚创建好的线程,都是就绪态的

4.cpu会去 所有线程池中(包括 os本身带有的 “可运行线程池”,以及 组件的 “线程池”)中去 获得 地址(“可运行线程池”)或者 直接 获得线程(“线程池”中就绪态的线程)执行

5.线程池中的线程状态,有各种状态的,不是只有就绪态的,然而,cpu只会去执行 线程池 中 就绪态的线程

6.线程池中的线程,一旦被执行完毕,不会变成死亡状态然后被清空空间,而是直接又变成就绪态,等待 组件为其分配指令,然后cpu可以继续执行

7.就绪态的线程 不一定都是有指令的,就绪态的线程 可以去存指令,但是一旦存了指令了,在这些指令执行完之前,是不会 再有 组件或 os去 给它分配指令的

8.我们自己创建线程(例如 java中,不涉及线程池的),都是 要遵守普通的线程状态,以及“可运行线程池”的规则的,是有死亡状态的

9.连接池,可以看做是,存 IO通道的,不用 一直开启关闭连接,开启通道(获得通道)也直接去连接池中获取,connection.close也不代表 连接被关闭了,而是还回连接池了(这里可以用连接池的,一般不在乎 通道的关闭而释放共享资源)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值