java8线程池如何使用

2025-10-23 04:34:30

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线程池如何使用

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢