当前位置:   article > 正文

java 多线程笔记三 线程池_executorservice executor = executors.newfixedthrea

executorservice executor = executors.newfixedthreadpool(3); executor.submit

频繁的创建\销毁线程就会降低我们的执行效率,这时候就引入了线程池,一个可以容纳多个线程的容器。

 线程池工厂类,推荐使用这个

创建线程池方法一 

  1. public class Test {
  2. public static void main(String[] args) {
  3. //创建线程池
  4. ExecutorService executorService = Executors.newFixedThreadPool(3);
  5. //提交任务,并且执行任务
  6. MyThread myThread = new MyThread();
  7. executorService.submit(myThread);
  8. executorService.submit(myThread);
  9. executorService.submit(myThread);
  10. //销毁线程池(实际开发中一般不销毁)
  11. executorService.shutdown();
  12. }
  13. }
  14. class MyThread implements Runnable{
  15. @Override
  16. public void run() {
  17. System.out.println(Thread.currentThread().getName()+"执行任务");
  18. }
  19. }

 创建线程池方法二,有返回值Callable

  1. public class Test {
  2. public static void main(String[] args) throws ExecutionException, InterruptedException {
  3. //创建线程池
  4. ExecutorService executorService = Executors.newFixedThreadPool(3);
  5. //提交任务,并且执行任务
  6. MyThread2 myThread2 = new MyThread2();
  7. //Callable接口可以有返回值
  8. Future<String> stringFuture = executorService.submit(myThread2);
  9. //返回值结果
  10. System.out.println(stringFuture.get());
  11. //销毁线程池(实际开发中一般不销毁)
  12. executorService.shutdown();
  13. }
  14. }
  15. class MyThread2 implements Callable<String> {
  16. @Override
  17. public String call() throws Exception {
  18. System.out.println("执行一个任务");
  19. return "666666";
  20. }
  21. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/785546
推荐阅读
相关标签
  

闽ICP备14008679号