Java线程池运行原理简述是怎样的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计833个文字,预计阅读时间需要4分钟。
Kotlin协程在Android开发中被广泛推荐,它支持响应式扩展(如RxJava)。在引入Kotlin协程机制之前,最重要的异步编程手法是Java中的API在线程和线程池。
异步编程工具在Android开发中目前最被推荐的就是Kotlin协程,在引入Kotlin协程机制前,除了响应式扩展(RxJava)兼任异步编程工具外,Java API中线程与线程池就是最重要异步编程手段。而对于Android平台的Kotlin协程实现来说,依然使用的是线程池来作为任务执行的载体,所以可以将Android平台的Kotlin协程简单的理解是对线程池的一种高度封装。
Executors.newFixedThreadPool(10).asCoroutineDispatcher() Dispatchers.IO.asExecutor()
因此我们先了解Java线程池是如何运行的,再深入理解Kotlin协程是如何实现的。
从Thread到Executor
线程的创建通过Thread类,为了复用线程而进行池化就有了线程池。线程池带来了两点明显优势:
- 降低重复创建线程的开销
- 将任务与线程管理解耦
Executor接口就是第二点的体现。其execute方法用于执行任务,不必关系这个任务执行的载体究竟是什么,到底有没有创建线程。ThreadPoolExecutor实现类就是这个任务执行器的线程池实现。
本文共计833个文字,预计阅读时间需要4分钟。
Kotlin协程在Android开发中被广泛推荐,它支持响应式扩展(如RxJava)。在引入Kotlin协程机制之前,最重要的异步编程手法是Java中的API在线程和线程池。
异步编程工具在Android开发中目前最被推荐的就是Kotlin协程,在引入Kotlin协程机制前,除了响应式扩展(RxJava)兼任异步编程工具外,Java API中线程与线程池就是最重要异步编程手段。而对于Android平台的Kotlin协程实现来说,依然使用的是线程池来作为任务执行的载体,所以可以将Android平台的Kotlin协程简单的理解是对线程池的一种高度封装。
Executors.newFixedThreadPool(10).asCoroutineDispatcher() Dispatchers.IO.asExecutor()
因此我们先了解Java线程池是如何运行的,再深入理解Kotlin协程是如何实现的。
从Thread到Executor
线程的创建通过Thread类,为了复用线程而进行池化就有了线程池。线程池带来了两点明显优势:
- 降低重复创建线程的开销
- 将任务与线程管理解耦
Executor接口就是第二点的体现。其execute方法用于执行任务,不必关系这个任务执行的载体究竟是什么,到底有没有创建线程。ThreadPoolExecutor实现类就是这个任务执行器的线程池实现。

