线程池

我们知道java 去执行新的异步任务的时候需要创建新的线程,而线程的创建和销毁都要消耗很多的资源,所以要在线程池中事先创建一定数量的线程,线程池负责管理和协调线程的创建销毁使用,当新的任务到来时,从线程池中拿到一空闲的线程来执行任务,当池中没有可用的线程时,任务进入队列中暂存,等待有空闲线程调用。这样利用线程池可以实现线程的重复利用,减少了线程创建销毁造成的资源浪费。

Executor 框架

Executor 相关类关系:


111.png

555.png

1222.png

Executor 接口将任务的提交和执行分开,ThreadPoolExecutor和ScheduledThreadPoolExecutor分别为Executor的实现,执行实现Runnable和Callable 的任务,相比RunnableCallable可以拿到执行的结果FutureTask.
执行过程:

333.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容