线程池学习

一、程序、进程、线程区别

程序:  java代码,一组静态指令集合

进程:  运行着的程序

线程:执行单元

开启进程之后,就创建主线程,在java来说,主线程加载类,调用主方法

二、为什么使用多线程

1. 功能需求:  比如生产者消费者

2. 性能需求:  压榨cpu

三、为什么要把线程放入线程池中

1. 多线程的使用是基于对cpu,内存,io等系统资源合理利用上,所以需要一个合适的数量控制

2. 线程创建时,需要开辟一些内存空间(栈空间,程序计数器,本地方法栈)

    线程销毁时,也会回收这些空间

    线程切换是也需要消耗一定的资源和空间

3. 在高并发环境下,总会有一些功能没有线程去执行,这些功能如何处理?
                3.1   丢弃:  何时丢弃,如何丢弃

                3.2   等待:  等待多久

综上所示,我们就可以使用多线程,来统一的控制线程的创建,启动,执行,关闭和分配。从而提高资源利用率和执行效率

四、线程池如何使用

使用juc提供的工具----  ThreadPoolExecutor

1、底层原理

 

 

 

 2、线程池工具使用

在创建线程时,需要传递的参数详解

1.

 

 2.

 3.

 4.

5.

6.

 

 7.

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值