您的位置:首页 > 编程语言 > Java开发

java 线程池相关

2017-08-21 15:26 148 查看
1.使用线程池的优势

  减少线程使用过程中创建以及销毁消耗的资源,减少延迟

  控制线程数量

2.风险

  所有并发存在的风险,以及与线程池有关的死锁、资源不足和线程泄露

3.常用的线程池

 1.newCachedThreadPool  可缓存线程池 如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程

     特点:几乎无线程数量限制

                 如果长时间没有任务加入则工作线程自动终止,直到新任务加入创建新的一个线程

                 需要注意线程数量控制。

2.newFixedThreadPool 固定数量线程池  每提交一个任务就创建一个线程,超出初始数量最大值则将任务存到池队列中

    特点:固定线程数量,空任务时也占用一定资源

3.newSignelThreadExecutor 单例化Executor  唯一的工作线程执行任务保证执行顺序(FIFO,LIFO,优先级)。如果线程异常结束会有另一个替代,保证顺序执行。

   特点:任意时间只有一个活动线程,保证顺序执行任务。

4.newScheduleThreadPool 固定长度线程支持定时和周期执行任务

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: