news 2026/5/20 20:43:22

Java Executor框架

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java Executor框架

        Java的线程既是工作单元,也是执行机制。从JDK 5开始,把工作单元与执行机制分离开来。工作单元(task unit)包括Runnable(无返回值)和Callable(又返回值),而执行机制由Executor框架(该框架是一个执行机制)提供。

一、Executor框架简介

1.1、Executor框架的两级调度模型

        在HotSpot VM的线程模型中,Java线程(java.lang.Thread)被一对一映射为本地操作系统线程(java线程与本地操作系统线程一对一)。Java线程启动时会创建一个本地操作系统线程;当该Java线程终止时,这个操作系统线程也会被回收。操作系统会调度所有线程并将它们分配给可用的CPU。

        在上层,Java多线程程序通常把应用分解为若干个任务,然后使用用户级的调度器(Executor框架)将这些任务映射为固定数量的线程;在底层,操作系统内核将这些线程映射到硬件处理器上(下层的调度不受应用程序的控制)。这种两级调度模型的示意图如下图所示。

Executor框架主要由3大部分组成如下。

1 任务:包括被执行任务需要实现的接口:Runnable接口或Callable接口(它们属于工作单元)。

2 任务的执行:包括任务执行机制的核心接口Executor,以及继承自Executor的ExecutorService接口。Executor框架有两个关键类实现了ExecutorService接口(ThreadPoolExecutor和ScheduledThreadPoolExecutor---它们是实现类)。

3 异步计算的结果:包括接口Future和实现Future接口的FutureTask类

下面是这些类和接口的简介。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/3 7:07:32

Loop Habit Tracker完整使用教程:如何科学养成好习惯

Loop Habit Tracker完整使用教程:如何科学养成好习惯 【免费下载链接】uhabits Loop Habit Tracker, a mobile app for creating and maintaining long-term positive habits 项目地址: https://gitcode.com/gh_mirrors/uh/uhabits Loop Habit Tracker是一款…

作者头像 李华
网站建设 2026/5/10 15:15:02

突破音乐平台限制:QQ音乐解析工具全攻略

突破音乐平台限制:QQ音乐解析工具全攻略 【免费下载链接】MCQTSS_QQMusic QQ音乐解析 项目地址: https://gitcode.com/gh_mirrors/mc/MCQTSS_QQMusic 还在为各大音乐平台的VIP限制而烦恼吗?想要随心所欲地收藏和播放喜欢的歌曲吗?QQ音…

作者头像 李华
网站建设 2026/5/18 19:44:27

5大核心模块:OmenSuperHub游戏本控制软件完全使用指南

5大核心模块:OmenSuperHub游戏本控制软件完全使用指南 【免费下载链接】OmenSuperHub 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub OmenSuperHub是一款专为惠普游戏本设计的开源硬件管理工具,提供纯净无广告的本地化控制体验。这…

作者头像 李华
网站建设 2026/5/9 17:05:28

毕业设计救星:快速搭建物体识别模型的完整指南

毕业设计救星:快速搭建物体识别模型的完整指南 临近毕业答辩,却发现本地训练的物体识别模型效果不佳?别担心,本文将手把手教你如何在云端快速搭建一个高性能的物体识别模型环境。对于计算机专业的学生来说,物体识别是常…

作者头像 李华
网站建设 2026/5/1 7:56:22

Windows触控板三指拖拽功能实战:从零配置到高效使用

Windows触控板三指拖拽功能实战:从零配置到高效使用 【免费下载链接】ThreeFingerDragOnWindows Enables macOS-style three-finger dragging functionality on Windows Precision touchpads. 项目地址: https://gitcode.com/gh_mirrors/th/ThreeFingerDragOnWind…

作者头像 李华