以下是一个使用Callable和Future创建线程的Java多线程代码示例:

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

public class CallableExample {

    public static void main(String[] args) throws InterruptedException, ExecutionException {
        ExecutorService executor = Executors.newSingleThreadExecutor(); // 创建线程池
        Callable<String> callable = new MyCallable(); // 创建Callable任务
        Future<String> future = executor.submit(callable); // 提交任务并获取Future对象

        System.out.println("等待任务执行结果...");
        String result = future.get(); // 获取任务执行结果,这是一个阻塞方法,直到任务执行完成才会返回结果
        System.out.println("任务执行结果:" + result);

        executor.shutdown(); // 关闭线程池
    }

}

class MyCallable implements Callable<String> {

    @Override
    public String call() throws Exception {
        Thread.sleep(3000); // 模拟耗时操作
        return "Hello, World!";
    }

}

在这个示例中,我们创建了一个Callable任务(MyCallable),并将其提交给一个线程池(ExecutorService)。线程池会返回一个Future对象,我们可以使用它来获取任务的执行结果。在主线程中,我们调用Future对象的get方法来获取结果,这是一个阻塞方法,直到任务执行完成才会返回结果。最后,我们关闭线程池

请写一个使用Callable和Future创建线程的Java多线程的代码

原文地址: https://www.cveoy.top/t/topic/frOX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录