多线程概念(小小复习一下)

  1、死锁(最糟糕的,当然另两种也好不到哪里 去)

        2、饥饿 (某个线程一直得不到资源,无法执行下去

  3、活锁(对太谦让了, 你让出资源我也让出资源)

二、

  1、阻塞:

 

 

线程池: 

除了executors 自带默认的几种 线程池,我们 一般使用自己定义 的,通过ThreadPoolExecutor来 实例化,

corePoolSize 有任务来时,线程小于 corePoolSize,则优先生成线程
maximumPoolSize 最大线程数,当前线程数不可以大于最大线程数,结合后面的workQueue进行控制
keepAliveTime 当线程数超过corePoolSize 多长时间部分的线程处于空闲时间多长,会被回收
threadFactory 生成线程的工厂类
handler 拒绝异常类, 当线程太多来不及处理
workQueue:队列 (直接队列、有界队列、无界队列(maximunpoolsize会失效),优先级队列)

 

 

 






 

posted on 2017-07-22 08:51  Legend_yan  阅读(121)  评论(0编辑  收藏  举报