线程池是java5之后新增的功能,使用呢线程池也至少是java5的jdk。
什么是线程池呢,就先准备好若干个线程等待执行任务,只要任务来了,存放线程的容器就是线程池,然后从池子拿出一个线程来让这个线程进行服务。
好处是什么呢?对于大量的任务来说,节省资源,不用频繁的创建线程和销毁线程带来的资源消耗。
线程池的使用有以下几种方式
创建固定大小的线程池:
创建缓存线程池:
创建单一线程池(
如何实现线程死了再重新建一个线程)
关闭线程池:
//当没有任务可运行的时候关闭线程池
singlePool.shutdown();
//立即关闭线程池,不管任务是否执行完毕
singlePool.shutdownNow();
//线程池定时器
ScheduledExecutorService scheduledPool = Executors.newScheduledThreadPool(2);
scheduledPool.schedule(command, delay, unit);
scheduledPool.scheduleAtFixedRate(command, initialDelay, period, unit);
//如何实现某个固定时间执行
scheduledPool.schedule(command, date.getTime() - System.currentTimeMillis(), TimeUnit.MILLISECONDS);
分享到:
相关推荐
简单的线程池程序+中文文档 包结构: com.tangkai.threadpool --SimpleThread.java 工作线程 --TestThreadPool.java 程序入口 --ThreadPoolManager.java 线程池管理类
Java中线程池框架核心代码分析
Reference: 《创建Java线程池》[1],《Java线程:新特征-线程池》[2], 《Java线程池学习》[3],《线程池ThreadPoolExecutor使用简介》[4],《Java5中的线程池实例讲解》[5],《ThreadPoolExecutor使用和思考》[6] ...
JAVA使用线程池查询大批量数据
目标:Java中多线程技术是一个难点,但是也是一个核心技术。因为Java本身就是一个多线程语言。本人目前在给46班讲授Swing的网络编程--使用Swing来模拟真实的QQ实时聊天软件。因为涉及到Socket编程,所以一定会使用多...
Java版线程池实现
java 线程池 完整 源码 java 线程池 完整 源码
Java中Executors类中几种创建各类型线程池方法及简单实例
主要给大家介绍了关于java线程池使用后到底要不要关闭的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
PooledThread类继承自Thread类,用于实现线程池中的线程,PooledThread类提供了多个方法来管理线程池中的线程,例如putTask、putTasks、stopTasks、pauseTasks等方法;ThreadPool类用于管理线程池中的线程,提供了多...
Java concurrency线程池之线程池原理(一)_动力节点Java学院整理,动力节点口口相传的Java黄埔军校
JAVA实现的线程池,可以直接在正规大型项目中套用。如果有不懂的,可以问我,QQ:452242541,加时注明csdn
java 线程池 java 线程池 java 线程池 java 线程池
通过剖析Java中线程池的原理,解读Java线程池源码,并给出线程池调用的示例,帮助理解线程池的基本原理。
java线程池封装j
其中线程池管理器(ThreadPool Manager)的作用是创建、销毁并管理线程池,将工作线程放入线程池中;工作线程是一个可以循环执行任务的线程,在没有任务时进行等待;任务队列的作用是提供一种缓冲机制,将没有处理的...
自定义实现Java线程池,学习大师设计思想,瞻仰大神笔法
虽然线程池能大大提高服务器的并发性能,但使用它也会存在一定风险。与所有多线程应用程序一样,用线程池构建的应用程序容易产生各种并发问题,如对共享资源的竞争和死锁。此外,如果线程池本身的实现不健壮,或者...
Java线程池使用说明Java线程池使用说明Java线程池使用说明
主要介绍了Java8并行流中自定义线程池操作,结合实例形式分析了并行流的相关概念、定义及自定义线程池的相关操作技巧,需要的朋友可以参考下