Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java 异步执行

作者:狂拽今生   发布日期:2026-07-24   浏览:99

// Java 异步执行示例代码

import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;

public class AsyncExample {

    // 模拟一个耗时的任务
    public static String longRunningTask() {
        try {
            Thread.sleep(2000); // 模拟耗时操作
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        return "任务完成";
    }

    // 异步执行任务的方法
    public static void asyncTask() {
        // 使用 CompletableFuture 来异步执行任务
        CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> {
            return longRunningTask();
        });

        // 当任务完成时,打印结果
        future.thenAccept(result -> {
            System.out.println("异步任务的结果是: " + result);
        });

        // 防止主线程提前结束
        try {
            future.get(); // 等待异步任务完成
        } catch (InterruptedException | ExecutionException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        System.out.println("开始执行异步任务...");
        asyncTask();
        System.out.println("异步任务已启动,主线程继续执行其他任务...");
    }
}

解释说明:

  1. longRunningTask():这是一个模拟的耗时任务,使用 Thread.sleep(2000) 来模拟 2 秒的延迟。这个方法返回一个字符串 "任务完成"

  2. asyncTask():这是异步执行任务的方法。我们使用了 CompletableFuture.supplyAsync() 来异步执行 longRunningTask() 方法。supplyAsync() 会在一个新的线程中执行传入的 Lambda 表达式,并返回一个 CompletableFuture 对象。

  3. future.thenAccept():当异步任务完成后,thenAccept() 会接收任务的结果并执行相应的操作。这里我们只是简单地将结果打印出来。

  4. future.get():为了防止主线程提前结束,我们调用了 future.get() 来等待异步任务完成。如果不调用 get(),主线程可能会在异步任务完成之前就结束了。

  5. main():在 main() 方法中,我们调用了 asyncTask() 来启动异步任务,并在控制台输出一些信息来表明任务的状态。

这段代码展示了如何使用 CompletableFuture 来实现 Java 中的异步任务执行。

上一篇:java获取ip地址的方法

下一篇:javabreak跳出的是哪个循环

大家都在看

java url decode

java判断是windows还是linux

java原始数据类型

java连接数据库的代码

java date类型比较大小

java djl

ubuntu 卸载java

es java api

java常用的设计模式有哪些

java list 查找

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站