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

Java中多线程异步调用

新启动一个或多个线程去完成所要完成的工作,主线程继续执行,互不干扰。异步场景:

1、视频文件的格式转换(比较耗时);

2、一般都是耗时的步骤,使用一个新的线程去完成,主线程不受限制;

3、tomcat的异步servlet,让用户线程去处理耗时的操作,tomcat的工作线程继续工作不被阻塞;

4、ui程序中,启动线程进行其他操作,不阻碍ui线程。

实现方式一:使用Thread,直接匿名内部类实现。

public class Thread1 { public static void main(String[] args) throws InterruptedException { // 匿名内不类实现线程的创建 Thread t1 = new Thread("线程1") { @Override public void run() { System.out.println("匿名内不类实现第一种线程的创建"); } }; System.out.println("新创建的线程名:" + t1.getName()); // main线程休息1秒钟,t1在启动 Thread.sleep(1000); t1.start(); } }

实现方式二:Runnable接口把线程和任务(要执行的代码)分开,其中Thread表示线程,Runnable表示可运行的任务(线程要执行的代码)。

public class Thread2 { public static void main(String[] args) throws InterruptedException { Runnable task = new Runnable() { @Override public void run() { System.out.println("匿名内不类实现第二种线程的创建"); } }; Thread t2 = new Thread(task); System.out.println("新创建的线程名:" + t2.getName()); // main线程休息1秒钟,t1在启动 Thread.sleep(1000); t2.start(); } }
http://www.jsqmd.com/news/221370/

相关文章:

  • 【卫星】全球导航卫星系统信号处理、误差分析和定位的MATLAB 实现
  • 任意二阶量子门作用于多量子比特系统的状态向量演化公式摘要
  • 计算机毕业设计springboot幸福社区疫苗预约管理系统 基于Spring Boot的社区疫苗预约与管理系统设计与实现 社区疫苗预约管理平台的Spring Boot开发与应用
  • 一文说清Keil4在工业通信协议中的应用
  • 深度剖析CANFD和CAN在车载网络中的差异
  • JWT鉴权的庖丁解牛
  • d3dx9_30.dll文件丢失找不到问题 免费下载方法分享
  • 计算机毕业设计springboot实习生校内事务管理系统 基于Spring Boot的实习生校园事务综合管理系统 Spring Boot驱动的实习生校内事务信息化平台
  • 机器学习:强化学习算法
  • 【无宏恐惧】告别VBA禁用!用纯BAT脚本实现Excel复杂档案编号批量生成
  • VHDL课程设计大作业:自动生成状态转移表方法
  • 时序逻辑电路入门必看:基本概念与工作原理通俗解释
  • 零基础小白指南:轻松搞定Intel HAXM配置
  • 一文说清vivado安装教程2018全流程及依赖组件
  • 目前国内专注于企业系统集成服务的 AI 智能体有哪些?
  • es连接工具在日志分析系统中的核心作用:一文说清
  • 第 1 篇:《SpringBoot 启动慢到宕机?阿里 P7 手写的 9 个生产级方案,3 分钟→28 秒(附一键优化插件)》
  • 加法器学习路径:掌握数字设计的第一步
  • 智能审计AI助手日志分析模块设计:AI应用架构师教你构建实时审计监控系统
  • iPaaS 在餐饮行业的最佳实践分享
  • 机器学习-Q学习
  • Redis过期键删除策略:揭秘背后的高效管理机制
  • 文件夹内的文件如何一键压缩为多个独立压缩包
  • STM32之中断
  • QTabWidget样式表兼容性:Qt5到Qt6深度剖析
  • 无源蜂鸣器声音生成原理:结合PWM脉冲解析
  • 一文说清ST7735工作原理与引脚定义
  • HID键盘矩阵扫描原理:新手入门必看教程
  • 小项目实验:模式对话框对线程的影响
  • 基于python的艺术作品展示平台 艺术家在线交流系统 关注z50di044