Java线程池自学手册Executor的使用
准备做一个系列文章,将零散的知识整理起来分享给大家,希望给大家的工作和学习带来帮助。
目录
1.Executor
2.ExecutorService
3.Executors
4.ThreadPoolExecutor
5.ScheduledExecutorService
6.ScheduledThreadPoolExecutor
一.Executor介绍
说明:这个接口只有一个方法,主要实现了Runnable接口的任务,当初设计者设计这个接口时是想把任务和“任务的运行方法”、“线程的调度和使用”分离开来,想用来替代直接用Thread的方式。下面我们就来一起学习下这个接口的简单使用。
1.方法
void execute(Runnable command); //执行一个实现了Runnable接口的任务
2.类继承结构
图
3.代码演示
public class ExecutorDemo {public static void main(String[] args) {Executor executor = Executors.newCachedThreadPool();Runnable run1 = new Runnable() {@Overridepublic void run() {System.out.println(Thread.currentThread().getName() + "创建一个无界可自动回收线程池");}};Runnable run2 = new Runnable() {@Overridepublic void run() {System.out.println(Thread.currentThread().getName() + "创建一个无界可自动回收线程池");}};Runnable run3 = new Runnable() {@Overridepublic void run() {System.out.println(Thread.currentThread().getName() + "创建一个无界可自动回收线程池");}};executor.execute(run1);executor.execute(run3);executor.execute(run2);}
}
二.总结
这篇文章初步介绍了Executor的使用方法,只有一个接口,通常用于将任务分解为单独的task,每个task即可以运行在新线程中又可以运行在调用线程中。很多时候Executor的使用要求task的实施必须是在某种特定的条件下,如在特定的时间如何执行,具体的细节可以在今后的工作中慢慢体会。
Java线程池自学手册Executor的使用相关推荐
- java线程池使用详解ThreadPoolExecutor使用示例
一 使用线程池的好处 二 Executor 框架 2.1 简介 2.2 Executor 框架结构(主要由三大部分组成) 1) 任务(Runnable /Callable) 2) 任务的执行(Exec ...
- Java线程池Executor框架
一.为什么要引入线程池 当存在大量并发任务时,创建.销毁线程需要很大的开销,运用线程池可以大大减小开销. 二.Executor框架 说明: Executor 执行器接口,该接口定义执行Runnable ...
- Java线程池(Executor)详解和用法
背景 面试的时候经常会被三连问.用过吗?如何用的?场景是什么?所以有必要好好的研究下线程池迫在眉睫. 1.讲解之前先了解下 retry: 因为源码中有这个retry标记 先看一个简单的例子 /*** ...
- java 线程池原理分析
一.为什么使用线程池 1.降低资源消耗,减少线程创建和销毁次数,每个工作线程可以重复利用,执行多个任务 2.可根据系统承受能力,调整工作线程的数目,防止消耗过多的内存 二.java 线程池使用 Exe ...
- Java多线程系列(三):Java线程池的使用方式,及核心运行原理
之前谈过多线程相关的4种常用Java线程锁的特点,性能比较.使用场景,今天主要分享线程池相关的内容,这些都是属于Java面试的必考点. 为什么需要线程池 java中为了提高并发度,可以使用多线程共同执 ...
- Java 线程池原理总结
Java 线程池原理总结 (一)什么是线程池 线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最大数量超出数量的线程排队等候,等其它 ...
- Java线程池的核心线程数和最大线程数
Java的线程池就像是一个花瓶容器. 而把任务提交给线程池就像是把小球塞进花瓶. 整个过程就像下面这个有趣的动画: 下面我们先来了解一下Java线程池的参数. 希望看完这篇文章后, 再提起线程池的时候 ...
- Java线程池及其实现原理
线程池概述 线程池(Thread Pool)是一种基于池化思想管理线程的工具,经常出现在多线程服务器中,如MySQL. 线程过多会带来额外的开销,其中包括创建销毁线程的开销.调度线程的开销等等,同时也 ...
- Java线程池ThreadPool详解
Java线程池ThreadPool详解 1. 线程池概述 1.1 线程池简介 1.2 线程池特点 1.3 线程池解决问题 2. 线程池原理分析 2.1 线程池总体设计 2.6 线程池流转状态 2.2 ...
- 四种Java线程池用法解析
四种Java线程池用法解析 本文为大家分析四种Java线程池用法,供大家参考,具体内容如下 http://www.jb51.net/article/81843.htm 1.new Thread的弊端 ...
最新文章
- 聊聊dubbo的Filter
- css 透明_css属性transparent有时候并不是透明的
- qt 加载 图片旋转_QT 实现图片旋转的两种方法
- iOS开发UI篇—CAlayer(创建图层)
- java nosql_Java EE的NoSQL的未来
- android 第三方圆弧进度条,android 可配置的圆弧进度条
- 从零开始学习springBoot2
- 清华90后女博士后:攻克了世界难题,却无法让父母明白我在做什么
- 使用stm32 freertos 调试没有问题,正常运行卡死
- Android 获取联系人列表
- 如何用photoshop做24色环_怎么使用PS制作24色环?
- strtok()函数详解!
- RESTful接口开发规范以及注意事项
- fastlane:构建、测试和发布 React Native 应用程序
- Linux:it is too simplistic/systematic解决办法~
- arc 093 F Dark Horse
- 金山云智能营销平台再升级,AI 投放助力游戏厂商精准到达;微医发布 AI 解决方案,提升县域医疗服务能力...
- 苹果审核规则研究,实时更新
- Linux命令 rm -rf报错 mv无效选项 --‘r‘
- java验证域名_域名规则校验Java版本