多线程需要实现的接口
名称 | 包 | 功能 | 子接口 | 实现类 |
Callable<V> |
java.util.concurrent |
1.有返回值 2.可以抛出受检查异常 |
- | |
Runnable |
java.lang |
1.无返回值 2.不可以抛出受检查异常 |
RunnableFuture<V>, |
执行多线程的接口
名称 | 包 | 功能 | 父接口 | 子接口 | 实现类/子类 |
Executor |
java.util.concurrent |
1.处理Runnable对象 2.不返回结果 |
- | ||
ExecutorService |
java.util.concurrent |
1.处理Runnable对象 2.处理Callable对象 3.可以返回Future对象存储结果 4.提交线程(单个\批量) 5.中断线程 |
Executor | ScheduledExecutorService | |
ScheduledExecutorService |
java.util.concurrent |
与ExecutorService类似, 增加了执行时间控制。 |
- | ScheduledThreadPoolExecutor |
执行多线程的类
名称 | 包 | 功能 | 接口 | 父类 | 子类 |
Thread |
java.lang |
1.创建线程 2.操作线程 |
- | ForkJoinWorkerThread | |
Executors |
java.util.concurrent | Factory and utility methods for Executor , ExecutorService , ScheduledExecutorService
|
- |
- |
- |
AbstractExecutorService |
java.util.concurrent | Provides default implementations of ExecutorService execution methods. |
- | ||
ForkJoinPool |
java.util.concurrent | 运行ForkJoinTask s |
- | ||
ThreadPoolExecutor |
java.util.concurrent |
1.减少启用线程的成本 2.提供限制和控制资源的方法 |
Executor, ExecutorService | ScheduledThreadPoolExecutor | |
ScheduledThreadPoolExecutor |
java.util.concurrent | ThreadPoolExecutor的补充,增加时间控制 | - |
多线程返回结果的接口
名称 | 包 | 功能 | 父接口 | 子接口 | 实现类 |
Future<V> |
java.util.concurrent |
返回异步执行结果 |
- | ||
RunnableFuture<V> |
java.util.concurrent |
继承Runable接口, 增加run方法 |
Future<V>, |
RunnableScheduledFuture<V> | |
ScheduledFuture<V> |
java.util.concurrent | 增加了时间控制 |
Future<V> |
- | - |
RunnableScheduledFuture<V> |
java.util.concurrent |
继承了Runnable接口, 增加了时间控制 |
RunnableFuture<V>, |
- | - |
多线程返回结果的类
名称 | 包 | 功能 | 接口 | 父类 | 子类 |
CompletableFuture<T> |
java.util.concurrent |
1.Future接口最简单实现。 2.可以方便的定义操作结束后需要执行的操作。 |
CompletionStage<T>, Future<T> |
- | - |
ForkJoinTask<V> |
java.util.concurrent |
1.类似Thread但是更小,消耗更小。 2.适合执行规模较小的任务。 |
Future<V> |
||
CountedCompleter<T> |
java.util.concurrent | 有个计数器,可以控制运行状态。 |
Future<T> |
ForkJoinTask<T> | - |
FutureTask<V> |
java.util.concurrent |
1.Future接口基本实现。 2.没有执行完毕,查询结果会阻塞当前线程。 |
Future<V>, |
- | |
RecursiveAction |
java.util.concurrent | ThreadPoolExecutor的补充,增加时间控制。 | - |
||
RecursiveTask<V> |
java.util.concurrent | 支持递归的ForkJoinTask<V>。 | ForkJoinTask<V> | - | |
RecursiveAction |
java.util.concurrent |
支持递归的ForkJoinTask<V>, 但没有返回结果。 |
ForkJoinTask<Void> | - |
转载于:https://www.cnblogs.com/lvjianwei/p/10877661.html