java线程

线程创建的几种方式

继承Thread类

实现Runable接口

实现Callable接口

线程池创建

runnable和callable

runable线程创建后没有返回值,callable有返回值

runable不能抛出异常,callable可以抛出异常

Runnable可以直接传递给Thread对象执行;Callable不可以,Callable执行可以放在FutureTask中,然后把futureTask传递给Thread执行

线程的生命周期     

  1. 线程创建时会进入创建的就绪状态

  2. 执行start的时候进入可运行的状态

  3. 线程执行完程序后或者中断程序,线程就进入死亡的状态

  4. 当线程进入运行中的状态,被其余线程抢占,此时该线程进入礼让,就会进入阻塞的状态(onotify唤醒线程)

  5. 当线程唤醒以后就进入就绪的状态

lock锁与sysc锁的区别        

  1. lock互斥同步锁都是可重入锁,好处是可以保证不会死锁,sysc锁不可重入
  2. 通过Lock可以知道有没有成功获取锁和锁的状态,syn不可以
  3. lock是一个接口,syn锁是关键字

创建线程池有哪几个核心参数

corePoolSize    核心线程数大小

maximumPoolSize 线程最大容纳线程的大小

keepAliveTime  空闲线程的空闲时间

unit 空闲时间单位

ThreadFactory  线程工厂

workQueue  缓存异步工作队列

RejectedExecutionHandler 拒绝线程的拒绝策略

线程池的好处

  1. 降低资源的消耗,重复利用自己创建的线程池降低线程的创建和销毁
  2. 提高响应速度,当任务到达时,不需要等待线程的创建才能执行任务
  3. 提高线程的管理性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值