news 2026/6/19 10:45:08

Java中多线程异步调用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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(); } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 23:56:13

基于DWA的动态环境下多智能体自主避障路径优化附MATLAB代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和数学建模资料 &#x1f34…

作者头像 李华
网站建设 2026/6/14 2:41:32

深度剖析CANFD和CAN在车载网络中的差异

CAN FD vs. CAN:车载网络的进化之路,不只是“快”那么简单 你有没有遇到过这样的场景? 一台搭载多传感器的智能汽车,在进行OTA升级时耗时长达半小时;ADAS系统因总线拥堵偶尔出现目标漏检;域控制器之间通信…

作者头像 李华
网站建设 2026/6/18 6:47:16

零基础学习lvgl界面编辑器:超详细版安装与配置指南

从零开始玩转LVGL界面设计:手把手教你用可视化工具高效开发嵌入式UI 你有没有遇到过这样的场景? 想给STM32或ESP32加个漂亮的屏幕,结果一上来就要写一堆 lv_obj_create() 、 lv_label_set_text() ……改个按钮位置得重新编译下载&#…

作者头像 李华
网站建设 2026/6/16 8:01:19

I2S协议物理层解析:一文说清数据同步与时钟关系

I2S协议物理层解析:一文说清数据同步与时钟关系在数字音频的世界里,信号的“纯净”与“准确”是工程师永恒的追求。无论是你在智能音箱中听到的一声清澈人声,还是车载音响播放的高保真交响乐,背后都离不开一套精密的通信机制——I…

作者头像 李华