Executors

原创 2015年11月18日 17:59:18

      一、  初始化的几种方式 

               1、Executors.newCachedThreadPool()

               CacheThreadPool : 将为每一个任务创建一个线程(程序执行的过程中通常会创建与所需数量相同的线程),然后在回收旧线程时,停止创建新线程,因此它是合理的Executors首选。

               2、 Executors.newFixedThreadPool(5)

                FixedThreadPool :  用有限的线程集来执行提交的任务。

               3、 Executors.newSingleThreadExecutor()

                SingleThreadExecutor :    就像是线程数量为1 的FixedThreadPool,它的应用有很多,比如:

                                                            希望在另一个线程中长期存活的任务: 如监听进入的套接字连接的任务;

                                                            希望在线程中运行的短任务: 更新本地或远程日志的小任务、事件分发线程;


    二、 SingleThreadExecutor

             由于它是只有一个线程的线程池,所以如果我们向它提交多个任务,这些任务都是使用相同的线程,SingleThreadExecutor实现了维护自己的任务队列,下一个任务的开始时间,一定时上一个任务的结束时间,所以所有的任务会按提交的顺序执行。具有这个特点就可以避免并发的问题,免除加锁的操作。


       后期会持续更新,这篇博客,探讨Executors的使用,和不同的初始化对象的使用场景。

               

版权声明:本文为博主原创文章,转载请注明出处。

相关文章推荐

Executors 使用实例

  • 2012年04月16日 22:32
  • 1KB
  • 下载

大数据:Spark Standalone 集群调度(二)如何创建、分配Executors的资源

Standalone 的整体架构 在Spark集群中的3个角色Client, Master, Worker, 下面的图是Client Submit 一个任务的流程图: 完整的流程:Driver...

Java:使用Executors创建和管理线程

http://zhangjunhd.blog.51cto.com/113473/70068/ 1. 类 Executors 此类中提供的一些方法有: 1.1 public static Exec...

Java 并发:Executors 和线程池(不错)

本文译自:Java Concurrency – Part 7 : Executors and thread pools 让我们开始来从入门了解一下 Java 的并发编程。 本文主要介绍如何开始创建...

java并发库之Executors常用的创建ExecutorService的几个方法说明

一、线程池的创建 我们可以通过ThreadPoolExecutor来创建一个线程池。 new ThreadPoolExecutor(corePoolSize, maximumPoolSize,...

Java并发编程的艺术(七)——Executors

Executors框架简介 Executor框架便是Java 5中引入的,其内部使用了线程池机制,它在Java.util.cocurrent 包下,通过该框架来控制线程的启动、执行和关闭,可以简化并发...

Executors 和线程池

让我们开始来从入门了解一下 Java 的并发编程。 本文主要介绍如何开始创建线程以及管理线程池,在 Java 语言中,一个最简单的线程如下代码所示: Runnable runnable = n...

Java通过Executors提供四种线程池

Java通过Executors提供四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 new...

线程池系列一:线程池作用及Executors方法讲解

文章来源:http://zy116494718.iteye.com/blog/1704344 线程池的作用:      线程池作用就是限制系统中执行线程的数量。      根据系统的...

(二十一)java多线程之Executors

本人邮箱: kco1989@qq.com 欢迎转载,转载请注明网址 http://blog.csdn.net/tianshi_kco github: https://github.com/...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Executors
举报原因:
原因补充:

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