Solo  当前访客:1 开始使用

线程池示例

创建线程池ExecutorService 对象

ExecutorService 调用 submit 方法并传入线程参数,返回 Future 对象

Future 对象获取数据 Future对象的get有个重载的方法,可以设置超时时间

 public static void main(String[] args) {
        // 创建一个固定大小的线程池,包含3个线程
        ExecutorService executorService = Executors.newFixedThreadPool(3);

        // 提交任务到线程池,并获取Future对象
        Future<Integer> result1 = executorService.submit(() -> 10 + 20);
        Future<Integer> result2 = executorService.submit(() -> 30 - 15);
        Future<String> result3 = executorService.submit(() -> "Hello, " + "World");

        try {
            // 获取任务的执行结果
            int sum = result1.get();
            int difference = result2.get();
            String message = result3.get();

            System.out.println("Sum: " + sum);
            System.out.println("Difference: " + difference);
            System.out.println("Message: " + message);
        } catch (Exception e) {
            e.printStackTrace();
        }

        // 关闭线程池
        executorService.shutdown();
    }
标签:
新一篇: BigDecimal除数的注意事项 旧一篇: 消息队列:重复消费和一致性消费