Discuss / Java / ChatGPT api 生成一段future 样例代码还挺方便

ChatGPT api 生成一段future 样例代码还挺方便

Topic source

Junes_99994

#1 Created at ... [Delete] [Delete and Lock User]

// 用java 编写 一段 Future 对象的代码 

import java.util.concurrent.Callable;

import java.util.concurrent.ExecutionException;

import java.util.concurrent.FutureTask;

public class FutureTest {

    public static void main(String[] args) {

        //实现Callable接口

        Callable<String> callable = new Callable<String>() {

            @Override

            public String call() throws Exception {

                //进行一些耗时的操作

                System.out.println("正在进行耗时操作...");

                Thread.sleep(3000);

                return "结果";    

            }

        };

        //创建FutureTask

        FutureTask<String> futureTask = new FutureTask<>(callable);

        //开启线程

        new Thread(futureTask).start();

        //一些其他耗时的操作

        try {

        System.out.println("正在进行其他耗时操作...");

        Thread.sleep(1000);

            //获取结果

            String result = futureTask.get();

            System.out.println("获取到结果:" + result);

        } catch (InterruptedException e) {

            e.printStackTrace();

        } catch (ExecutionException e) {

            e.printStackTrace();

        }

    }

}

Junes_99994

#2 Created at ... [Delete] [Delete and Lock User]

// 用java 编写 一段 Future 对象的代码

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 FutureExample {

    public static void main(String[] args) throws InterruptedException, ExecutionException {

        ExecutorService executorService = Executors.newSingleThreadExecutor();

        Callable<String> callable = () -> {

            // Perform some computation

            System.out.println("Entered Callable");

            Thread.sleep(2000);

            return "Hello from Callable";

        };

        System.out.println("Submitting Callable");

        Future<String> future = executorService.submit(callable);

        // This line executes immediately

        System.out.println("Do something else while callable is getting executed");

        System.out.println("Retrieve the result of the future");

        // Future.get() blocks until the result is available

        String result = future.get();

        System.out.println(result);

        executorService.shutdown();

    }

}

🌙

#3 Created at ... [Delete] [Delete and Lock User]

确实挺方便


  • 1

Reply