Java多线程之Executor框架:Callable、Future、Executor和ExecutorService

  1. 云栖社区>
  2. Java技术进阶>
  3. 博客>
  4. 正文

Java多线程之Executor框架:Callable、Future、Executor和ExecutorService

凌洛 2019-08-10 10:18:53 浏览394
展开阅读全文

引言

Executor框架是指JDK 1.5中引入的一系列并发库中与Executor相关的功能类,包括Executor、Executors、ExecutorService、Future、Callable等。

一、为什么要引入Executor框架?

1、如果使用new Thread(...).start()的方法处理多线程,有如下缺点:

  • 开销大。对于JVM来说,每次新建线程和销毁线程都会有很大的开销。
  • 线程缺乏管理。没有一个池来限制线程的数量,如果并发量很高,会创建很多线程,而且线程之间可能会有相互竞争,这将会过多占用系统资源,增加系统资源的消耗量。而且线程数量超过系统负荷,容易导致系统不稳定。

2、使用线程池的方法,有如下优点:

  • 线程复用。通过复用创建了的线程,减少了线程的创建、消亡的开销。
  • 有效控制并发线程数。
  • 提供了更简单灵活的线程管理。可以提

网友评论

登录后评论
0/500
评论
凌洛
+ 关注
所属云栖号: Java技术进阶