Java线程池自学手册Executor的使用

2023-05-16

准备做一个系列文章,将零散的知识整理起来分享给大家,希望给大家的工作和学习带来帮助。

目录

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() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName() + "创建一个无界可自动回收线程池");
            }
        };
        Runnable run2 = new Runnable() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName() + "创建一个无界可自动回收线程池");
            }
        };
        Runnable run3 = new Runnable() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName() + "创建一个无界可自动回收线程池");
            }
        };
        executor.execute(run1);
        executor.execute(run3);
        executor.execute(run2);
    }
}

二.总结

这篇文章初步介绍了Executor的使用方法,只有一个接口,通常用于将任务分解为单独的task,每个task即可以运行在新线程中又可以运行在调用线程中。很多时候Executor的使用要求task的实施必须是在某种特定的条件下,如在特定的时间如何执行,具体的细节可以在今后的工作中慢慢体会。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java线程池自学手册Executor的使用 的相关文章

  • Lucene Query Parser 语法

    lucene的组合条件语法 xff0c 看了网上很多文章 xff0c 真的都太差了 还是官网清晰明了一点 SKIP NAVIGATION LINKS OVERVIEWPACKAGECLASSUSETREEDEPRECATEDHELP PRE
  • 《JAVA并发编程实践JavaConcurrencyinPractice-中文-高清-带书签-完整版(Doug Lea)》

    免责声明 xff1a 全部内容都属于是段友分享 xff0c 我只是属于整理 写在前边 xff0c 个人觉得 弄一个积分下载 xff0c 就是在自掘坟墓 表面上看起来是可以为个人赚积分 xff0c 实际砍掉分享交流的一个途径 对我就是没有积分
  • 《Java核心技术 卷1 基础知识 原书第10版》

    免责声明 xff1a 全部内容都属于是段友分享 xff0c 我只是属于整理 写在前边 xff0c 个人觉得 弄一个积分下载 xff0c 就是在自掘坟墓 表面上看起来是可以为个人赚积分 xff0c 实际砍掉分享交流的一个途径 对我就是没有积分
  • 《高性能mysql第三版》

    免责声明 xff1a 全部内容都属于是段友分享 xff0c 我只是属于整理 写在前边 xff0c 个人觉得 弄一个积分下载 xff0c 就是在自掘坟墓 表面上看起来是可以为个人赚积分 xff0c 实际砍掉分享交流的一个途径 对我就是没有积分
  • idea中maven报错Cannot reconnect

    问题所在 xff1a Maven工程 错误处在pom文件 xff1a 最重要的是学会了怎样在Idea出现错误时 xff0c 发现导致错误的具体原因 xff0c 通过 Helper gt Show Log in Explorer xff0c
  • 用一份JAVA工程师的求职简历来说说求职简历怎么写

    这是一篇我比较想看到的简历指导的文章 但是我比较反对简历造假 我觉得会什么写什么把 可以先看看我的这篇文章 xff1a 刚实习结束 xff0c 就要做面试官 xff0c 谈谈我的想法 自己做过面试官以后 xff0c 自己也总结了一下 xff
  • LiveGBS/LiveNVR等实现安防监控视频Web无插件直播时如何叠加水印文字

    H5直播点播播放器 下载集成入口 xff1a https www liveqing com docs download LivePlayer html 使用说明 xff1a https www liveqing com docs manua
  • OpenMV4开发笔记3-串口通信

    OpenMV4引出了串口3和串口1 xff0c 首先以串口3的收发为例 span class token keyword import span time span class token keyword from span pyb spa
  • FreeRTOS与UCOSIII任务状态对比

    FreeRTOS任务状态 1 运行态 正在运行的任务 xff0c 正在使用处理器的任务 单核处理器中任何时候都有且只有一个任务处于运行态 2 就绪态 已经准备就绪 xff08 非阻塞或挂起 xff09 xff0c 可以立即运行但还没有运行的
  • 白话TCP/IP协议栈

    前言 最近在复习总结计算机基础知识 xff0c 包括操作系统 数据结构 计算机网络等程序员必备的知识 xff0c 这属于程序员的内功 把内功修炼好了 xff0c 外功只是一种形式 xff0c 如果你内功深厚 xff0c 那么无论是用龙抓手还
  • 飞机绕地球问题

    每个飞机只有一个油箱 xff0c 飞机之间可以相互加油 xff08 注意是相互 xff0c 没有加油机 xff09 xff0c 一箱油可以供一架飞机绕地球飞半圈 问 xff1a 为了使至少一架飞机绕地球一圈回到起飞 时候的飞机场 xff0c
  • 【ROS】Gazebo仿真平台安装及问题解决

    Gazebo安装 这里的ROS版本是Melodic xff0c 如果是其他版本的ROS可以修改下面命令的melodic为指定版本 sudo apt get install ros melodic gazebo ros pkgs ros me
  • 激光slam经典开源算法及论文整理

    开源算法 loamLeGO LOAMlio mappingLIO SAMCartographergmappinghector slam 考虑到有些朋友们的网络下载论文可能有问题 xff0c 把论文整理到百度网盘 xff0c 可自行下载 xf
  • Body系下空间平面如何转到World系下

    Body系下空间平面如何转到World系下 题目解法 题目 已知 传感器坐标系 xff08 Body系 xff09 下有一平面P方程为Ax 43 By 43 Cz 43 D 61 0 xff0c 简写为 n
  • cmake: symbol lookup error: cmake: undefined symbol: archive_write_add_filter_zstd 两种解决方法

    centOS8 x86 64 或 aarch64 系统下 yum或dnf 默认安装的 cmake 3 18 2 11 el8版本 xff0c 安装后无法使用 xff0c 出现 xff1a cmake symbol lookup error
  • ROS学习--轻松使用tf

    tf是ROS中建立坐标系 xff0c 并且使用各个坐标间转换关系的一个很好的工具 xff0c 对于非导航专业的同学 xff0c 常常苦恼与各种旋转矩阵的变换 xff0c 自己经常被搞的头大 xff0c 最近由于课题实验的需要 xff0c 尝
  • ROS 下navigation/robot_pose_ekf编译报错

    想要使用navigation下的robot pose ekf做IMU与视觉的融合于是找到了这个包 xff1a https github com ros planning navigation tree indigo devel 但是编译报错
  • 【学习日记】ROS下IMU使用困惑

    最近准备在机器人上测试使用IMU代替机器人的里程计 xff0c 以提高底层的控制周期 由于底层通信的原因 xff0c 使用里程计的话最多能到50HZ xff0c 因为我们的机器人对运动性能要求较高 xff0c 所以无法满足我们的要求 xff
  • ROS学习--如何结合launch文件使用参数服务器

    ROS xff08 Robot Operating System xff09 接触了将近两年了 xff0c 最常用的也就是发布话题与订阅话题 xff0c 前一段时间刚刚把Rviz与 tf搞明白一些 xff0c 都能够多掌握一些东西 xff0
  • 【ROS工具学习】之topic_tools/throttle,改变节点发布频率

    最近老师想做一个实验 xff0c 机器人上搭在Hokuyo单线激光雷达 xff0c Velodyne16线激光雷达 xff0c Kinect2 xff0c Bumblebee xb3等传感器 xff0c 这些传感器做一些实验 xff0c 因

随机推荐