Executors提供的四种线程池

转载 2016年08月31日 11:03:00

Executors提供的四种线程池


java.util.concurrent.Executors类,提供了创建四种线程池的方法,相关方法及对应的功能如下:

1、newCachedThreadPool:用来创建一个可缓存线程池,该线程池没有长度限制,对于新的任务,如果有空闲的线程,则使用空闲的线程执行,如果没有,则新建一个线程来执行任务。如果线程池长度超过处理需要,可灵活回收空闲线程。代码示例:

  1. ExecutorService cachedThreadPool = Executors.newCachedThreadPool();    

2、newFixedThreadPool :用来创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。定长线程池的大小通常根据系统资源进行设置:Runtime.getRuntime().availableProcessors()。代码示例:

  1. ExecutorService fixedThreadPool = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());    

3、newScheduledThreadPool:用来创建一个定长线程池,并且支持定时和周期性的执行任务。代码示例:

  1. /** 
  2. * 定时执行 
  3. */  
  4. ScheduledExecutorService scheduledThreadPool = Executors.newScheduledThreadPool(20);  // 长度20  
  5. scheduledThreadPool.schedule(task, 10, TimeUnit.SECONDS);   // 延迟10s执行  
  6.   
  7. /** 
  8. *周期性执行 
  9. */  
  10. ScheduledExecutorService scheduledThreadPool = Executors.newScheduledThreadPool(20);  // 长度20  
  11. scheduledThreadPool.scheduleAtFixedRate(task,105, TimeUnit.SECONDS); // 延迟10s执行,每个5s执行一次。  

4、newSingleThreadExecutor:用来创建一个单线程化的线程池,它只用唯一的工作线程来执行任务,一次只支持一个,所有任务按照指定的顺序执行。代码示例:

1:ExecutorService singleThreadExecutor = Executors.newSingleThreadExecutor();


欢迎关注爪哇的世界公众号,每天有最新java咨讯为你推送







举报

相关文章推荐

Executors提供的四种线程池

Executors提供的四种线程池 java.util.concurrent.Executors类,提供了创建四种线程池的方法,相关方法及对应的功能如下: 1、newCachedThreadP...

Executors 线程池

一、在高并发大数据量访问的情况,由于单线程的任务无法快速完成需要执行的任务,使用Java的Executor框架里面的线程池。二、线程继承结构 三、线程的父接口Executor接口public...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

Executors 线程池

--Executors 线程池的顶级接口,

线程池 Executors

Java Executors(线程池) 分类: J2SE2011-10-09 16:37 8446人阅读 评论(5) 收藏 举报 javathread多线程class任务api ...

Executors的工厂方法提供的5种不同的线程池

1、newFixedThreadPool() :  作用:该方法返回一个固定线程数量的线程池,该线程池中的线程数量始终不变,即不会再创建新的线程,也不会销毁已经创建好的线程,自始自终都是那几个固定的...

Java Executors(线程池)

Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利。为了编写高效稳定可靠的多线程程序...

java Executors(线程池)

今天重新看了一次张孝祥老师的交通管理系统项目视频,发现里面有用到Executors,其实这个Executors就是一个线程池。    线程池的思想就相当于对象池一样,它也是开辟了一块内存空间,里面存...

Java Executors(线程池)

Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利。为了编写高效稳定可靠的多线程程序...

Java Executors(线程池)

Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利。为了编写高效稳定可靠的多线程程序...

Java Executors(线程池)

转载地址: http://blog.csdn.net/coding_or_coded/article/details/6856014 Sun在Java5中,对Java线程的类库做了大量的扩展,其...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)