`

java 多线程初学(Executor控制器)

 
阅读更多

Executor控制器是jdk1.5之后新增的工具类。用于作为一个中介来统一管理并发任务。

 1.CacheThreadPool 将为每个任务都开一个线程:

ExecutorService exec = Executors.newCachedThreadPool();
		for (int i = 0; i < 2; i++) {
			final int c = i;
			exec.execute(new Runnable(){

				public void run() {
					// TODO Auto-generated method stub
					System.out.println(c+":"+Thread.currentThread().getName());
				}}
			);
		}
		exec.shutdown();

 shutdown()方法的调用可以防止新任务被提交给Executor

 

2.FixedThreadPool 将使用有限的线程来完成任务,貌似线程池的概念,使用的线程不会超过指定的数量

 

ExecutorService exec = Executors.newFixedThreadPool(1);

3.SingleThreadExecutor 只生成一个线程,所有的任务都会在这一个线程里执行,貌似是顺序执行的。前一个任务执行完成后才会执行后面的任务。这些任务将会形成一个队列的形式。

 

ExecutorService exec = Executors.newSingleThreadExecutor();

4.ScheduledExecutorService 可以替代定时器来做任务分配

 

ScheduledExecutorService scheduExec = Executors  
            .newScheduledThreadPool(1);
 

 

分享到:
评论

相关推荐

    Java多线程之Executor框架.docx

    一、为什么要引入Executor框架? 1、如果使用new Thread(…).start()的方法处理多线程,有如下缺点: ① 开销大。对于JVM来说,每次新建线程和销毁线程都会有很大的开销。 ② 线程缺乏管理。没有一个池来限制线程的...

    多线程系列相关的技术要点

    1. Java多线程学习(一)Java多线程入门 2. Java多线程学习(二)synchronized关键字(1) 3. Java多线程学习(二)synchronized关键字(2) 4. Java多线程学习(三...9. Java多线程学习(八)线程池与Executor 框架

    个人总结的深入java多线程开发

    看完《think in java》多线程章节,自己写的多线程文档,还结合了其他的相关网络资料。 线程 一. 线程池 1)为什么要使用线程池 2 2)一个具有线程池的工作队列 3 3)使用线程池的风险: 4 4)有效使用线程池的原则 5...

    java并发编程:Executor、Executors、ExecutorService.docx

    其定义了一个接收Runnable对象的方法executor,其方法签名为executor(Runnable command),该方法接收一个Runable实例,它用来执行一个任务,任务即一个实现了Runnable接口的类,一般来说,Runnable任务开辟在新线程中...

    Java基础篇:Executor框架.pdf

    该文档详细记录了Executor框架结构、使用示意图、ThreadPoolExecutor使用示例、线程池原理分析、几种常见线程池(FixedThreadPool、SingleThreadExecutor、CachedThreadPool)的详解以及线程池大小确定等内容

    基础技术部牛路《Java多线程入阶分享》纯干货

    Java多线程入阶干货分享 1.使用线程的经验:设置名称、响应中断、使用ThreadLocal 2.Executor:ExecutorService和Future 3.阻塞队列:put和take、offer和poll、drainTo 4.线程间通信:lock、condition、wait、notify...

    Java-Executor并发框架.docx

    Java是天生就支持并发的语言,支持并发意味着多线程,线程的频繁创建在高并发及大数据量是非常消耗资源的,因为java提供了线程池。这篇文章主要介绍下并发包下的Executor接口,Executor接口虽然作为一个非常旧的接口...

    java 并发编程 多线程

    java 并发 编程 多线程 concurrent lock condition executorserice executor java.util.curcurrent.

    针对于Executor框架,Java API,线程共享数据

    Executor框架是Java并发编程中的一个重要工具,它提供了一种管理线程池的方式,使得我们可以更方便地管理线程的生命周期和执行线程任务。 原子操作是指不可被中断的操作,要么全部执行成功,要么全部不执行。原子...

    安川_机器控制器MP3000系列运动程序编程手册.pdf

    安川_机器控制器MP3000系列运动程序编程手册pdf,安川_机器控制器MP3000系列运动程序编程手册  1、执行处理方式 执行运动程序时,需要将创建的程序执行注册到系统内。通过执行注册到系统内,可按照 H 扫描周期查看 ...

    Java并发之线程池Executor框架的深入理解

    主要介绍了Java并发之线程池Executor框架的深入理解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Executor,Executors,ExecutorService比较.docx

    2.newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。 3.newScheduledThreadPool 创建一个线程池,它可安排在给定延迟后运行命令或者定期地执行。 4....

    并发编程实践,全面介绍基础知识、JVM同步原语、线程安全、低级并发工具、线程安全容器、高级线程协作工具、Executor部分等

    详细介绍java并发编程相关知识: 基础知识   并发与并行   Java并发演进历史   Java并发模型   线程模型   存储模型 JVM同步原语 volatile CAS 线程安全   保护“共享数据” 低级并发工具   原子变量   锁...

    Java并发框架:Executor API详解

    主要介绍了Java并发框架:Executor API详解,随着当今处理器中可用的核心数量的增加, 随着对实现更高吞吐量的需求的不断增长,多线程 API 变得非常流行。 Java 提供了自己的多线程框架,称为 Executor 框架,需要的...

    java线程学习笔记

    1.3 执行器Executor 2 1.4 任务中返回值Callable接口 3 1.5 休眠 6 1.6 让步 6 1.7 优先级 6 1.8 后台线程(daemon) 6 1.9 加入线程(join) 8 1.10 捕获异常(UncaughtExceptionHandler) 9 1.11 线程与任务 10 ...

    JavaExecutor并发框架.pdf

    JavaExecutor并发框架.pdf

    Java核心技术之多线程的实现

    Java实现多线程的四种方式 1、继承Thread类 2、实现Runnable接口 3、使用Future Task 4、使用Executor框架 继承Thread类和实现Runnable接口是最基本的方式,但有一个共同的缺点:没有返回值。而Future Task解决了这...

    Java并发Executor框架

     调用关系:Java线程一对一映射到本地操作系统的系统线程,当多线程程序分解若干任务,使用用户级的调度器(Executor框架)将任务映射为固定数量的线程,底层,操作系统吧、内核将这些线程映射到硬件处理器上。...

    多线程了解

    java多线程、线程池详细教程,Executor框架的简单介绍。

Global site tag (gtag.js) - Google Analytics