当前位置: 首页 > news >正文

java线程池编程示例

程序功能

这段代码展示了如何使用 Java 线程池 来并发执行多个任务。通过创建一个固定大小为 3 的线程池,程序提交了 5 个任务,并让线程池中的线程并发处理这些任务。每个任务模拟了一个耗时操作,最后程序等待所有任务完成后关闭线程池。
在这里插入图片描述

代码

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;public class ThreadPoolExample {public static void main(String[] args) {// 创建一个固定大小的线程池,线程池大小为 3ExecutorService executorService = Executors.newFixedThreadPool(3);// 提交5个任务到线程池中for (int i = 1; i <= 5; i++) {int taskId = i; // 任务IDexecutorService.submit(() -> {System.out.println("任务 " + taskId + " 开始执行,线程:" + Thread.currentThread().getName());try {// 模拟任务执行时间TimeUnit.SECONDS.sleep(2);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("任务 " + taskId + " 执行完成,线程:" + Thread.currentThread().getName());});}// 关闭线程池,不再接受新任务executorService.shutdown();try {// 等待所有任务执行完毕if (!executorService.awaitTermination(60, TimeUnit.SECONDS)) {executorService.shutdownNow(); // 超时后强制关闭}} catch (InterruptedException e) {executorService.shutdownNow();}System.out.println("所有任务已完成");}
}
http://www.lryc.cn/news/440617.html

相关文章:

  • 02 基于STM32的按键控制继电器驱动电机
  • 网页本地存储
  • SpringBoot2:web开发常用功能实现及原理解析-@ControllerAdvice实现全局异常统一处理
  • DockerLinux安装DockerDocker基础
  • macOS平台TensorFlow环境安装
  • 全网最全 线程邮箱
  • Linux下rpm方式部署mysql(国产化生产环境无联网服务器部署实操)
  • 【Python机器学习】NLP信息提取——正则模式
  • opc服务器与opc服务器如何通讯
  • 指针 (六)
  • Linux下vscode配置C++和python编译调试环境
  • OrionX GPU算力池助力AI OCR场景应用
  • 移动端如何实现智能语音交互
  • HTTPS:构建安全通信的基石
  • OceanBase 企业版OMS 4.2.3的使用
  • STM32中的计时与延时
  • [论文笔记] CSFCN
  • mac电脑命令行获取电量
  • 2024桥梁科技两江论坛——第二届桥梁工程安全与韧性学术会议
  • 性能测试-jmeter的控制器(十六)
  • 直播开播极速流,如何有效接入?
  • stm32 W25Q数据存储
  • 深度学习的笔记
  • 音视频入门基础:AAC专题(8)——FFmpeg源码中计算AAC裸流AVStream的time_base的实现
  • React 组件的基本使用,useState 状态变量的使用
  • 空洞骑士 Hollow Knight 攻略
  • CSP-J 算法基础 广度优先搜索BFS
  • What is new in C# 7,8,9,10
  • Sqlserver常用sql
  • 基于SpringBoot+Vue+MySQL的考研互助交流平台