多线程需要实现的接口
名称 | 包 | 功能 | 子接口 | 实现类 |
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> | - |