栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

kkFileView(二)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

kkFileView(二)

2021SC@SDUSC

目录

一、线程池的使用

那么,什么是线程池?

 关于ExecutorService


一、线程池的使用

由于本人负责的压缩文件处理第一个就涉及到Java线程池的问题,因此本次报告先围绕Java线程池即多线程问题展开。

之前大一学习java学到过多线程,而线程池是解决多线程的一个手段。

那么,什么是线程池?

在一个线程的生命周期内,往往线程创建和销毁的时间要大于线程执行的时间,所以频繁的创建线程会消耗额外的时间。如果等到有任务来了,在去创建线程的话效率就会比较低,如不把线程放在某个地方,任务来了,直接把线程拿过来用比较好;另外,线程池可以管理控制线程,使用线程池,可以进行统一分配,方便调优和监控。线程可以提供队列,存放缓冲等待执行的任务。

由此看来,线程池可以

  • 降低资源消耗
  • 提高响应速度
  • 提高线程的可管理性

 关于ExecutorService

ExecutorService是Java中对线程池定义的一个接口,它java.util.concurrent包中。

private final ExecutorService executors = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());

 ExecutorService创建,newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。

executors.submit(new ZipExtractorWorker(entriesToBeExtracted, zipFile, filePath));

submit(new Runnable)这个方法接收一个Runnable实例,并且异步的执行,上述代码端括号内的类继承自Runnable。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/301528.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号