admin 管理员组

文章数量: 1184232


2024年3月28日发(作者:巴州库尔勒市疫情最新消息)

在 Java 中,实现多线程并返回结果通常可以通过以下几种方式:

1. 使用

Callable

Future

Callable

接口允许线程返回一个值,而

Future

接口用于检索线程执行的

结果。

创建一个实现

Callable

接口的类,并在

call

方法中定义线程的逻辑,然

后使用

ExecutorService

提交

Callable

任务,并得到

Future

对象。

使用

Future

对象的

get

方法获取线程执行的结果。

import le;

import ionException;

import orService;

import ors;

import ;

public class CallableExample implements Callable {

@Override

public String call() throws Exception {

// 执行耗时操作,返回结果

return "Thread result";

}

public static void main(String[] args) {

ExecutorService executor = gleThreadExecutor();

// 提交 Callable 任务

Future future = (new CallableExample());

try {

// 获取线程执行的结果

String result = ();

n("Result: " + result);

} catch (InterruptedException | ExecutionException e) {

tackTrace();

}

// 关闭线程池

wn();

}

}

1. 使用

CompletableFuture

CompletableFuture

类提供了更灵活和方便的方式来处理异步任务,并

允许设置完成时的回调操作。

使用

Async

方法提交异步任务,并在

supplyAsync

方法中定义线程的逻辑。

通过

thenApply

方法链式调用,处理线程执行的结果。

import tableFuture;

import ionException;

public class CompletableFutureExample {

public static void main(String[] args) {

CompletableFuture future = Async(() -> {

// 执行耗时操作,返回结果

return "Thread result";

});

try {

// 处理线程执行的结果

String result = ();

n("Result: " + result);

} catch (InterruptedException | ExecutionException e) {

tackTrace();

}

}

}

这两种方法都允许在多线程环境中执行耗时操作,并在执行完成后获取结果。选择

哪种方式取决于具体的需求和场景。


本文标签: 线程 执行 结果 方法 操作