java多线程(版权归王路甲所有,侵权必究)

1.线程和进程的区别

线程:线程是cpu执行进程时,所执行程序的内部路径。

进程:进程是程序一次执行的过程,进程有着自己的生命周期,进程是由线程组成了。

2.线程的启动

在java里启动线程有四种方式:

1.继承Thread类,并重写run()方法。

2.重写runnable方法,并重写run()方法。

 

3.实现callable接口,重写call()方法

 

4.使用线程池execute,尽量不要使用execute 使用ThreadPoolExecutor

三大线程池

    定长线程池FixedThreadPool

    缓冲线程池CachedThreadPool

    定时线程池ScheduledThreadPool

    单线程线程池 SingleThreadExecutor

    默认线程池 ThreadPoolExecutor

7大参数

核心线程 最大线程数 堵塞队列 线程工厂 存活时间 时间单位 拒绝策略

拒绝策略:有四种   

 1.当队列满了,不处理,直接抛出异常

2.从哪里的来的线程,就返回到那个线程

3.队列满了,不会抛出异常

4.队列满了,尝试和最早的竞争,不会抛出异常

线程池的大小应该怎么去设置?

IO密集度:网络、磁盘IO都是IO密集型任务,IO就是指把内容从硬盘读到内存的过程,或者从网络接收信息到本机内存的过程,不占用cpu

cpu密集型:要进行大量的计算,消耗cpu资源,全靠cpu的运算能力。

线程池的好处:

  1.降低资源的消耗

  2.提高响应的速度

  3.方便管理

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值