java8线程池如何使用

 时间:2026-02-13 11:13:05

1、线程池的特点是提供一个线程队列,队列中保存着所有等待状态的线程。避免了创建与销毁额外开销,提高了响应速度。

2、线程池的所有类在java.util.concurrent.Executor:负责线程的使用与调度的根接口

3、创建固定大小线程池

 ExecutorService executorService = Executors.newFixedThreadPool(5);

java8线程池如何使用

4、为线程池的线程分配任务

executorService.submit(new Thread(new Runnable() {

            @Override

            public void run() {

                System.out.println("------------");

            }

        }));

java8线程池如何使用

5、关闭线程池

executorService.shutdown();

java8线程池如何使用

6、线程池执行Callable线程

Future<Integer> future =  executorService.submit(new Callable<Integer>() {

            public Integer call() throws Exception {

                int sum = 0;

                for (int i = 0; i < 100; i++) {

                    sum += i;

                }

                return sum;

            }

        });

java8线程池如何使用

7、得到程序的返回结果

Integer sum = future.get();

java8线程池如何使用

8、在线程池中提交十个线程执行程序。

 List<Future<Integer>> list = new ArrayList<>();

        for (int i = 0; i < 10; i++) {

            Future<Integer> future =  executorService.submit(new Callable<Integer>() {

                public Integer call() throws Exception {

                    int sum = 0;

                    for (int i = 0; i < 100; i++) {

                        sum += i;

                    }

                    return sum;

                }

            });

            

            list.add(future);

        }

java8线程池如何使用

  • iconv函数文字编码格式转换
  • log4j2的log4j2.xml如何配置
  • spark怎么结合es使用
  • 如何使用Linux环境学习输入字符
  • 如何用阿里云轻量应用服务器搭建Adguard Home
  • 热门搜索
    为什么这样 花呗收款怎么开通 长期咽炎怎么办 和平精英怎么改性别 睡眠不好怎么办 冬虫夏草怎么吃 龙发装饰怎么样 家长寄语怎么写 芒果tv怎么关闭自动续费 snowy怎么读