1.FutureTask->RunnableFuture->Runnable,Future
    即是任务,也是Future,线程返回结果存储在自己的Future里
    2.CompletableFuture管理多个Future结果
    3.ThreadPoolExecutor
    所有线程共有同一个任务队列
    核心线程数
    最大线程数
    空闲时间
    空闲时间单位
    任务队列
    线程工厂类
    任务拒绝策略 jdk默认四种
    Abort:抛弃异常
    Discard:丢弃任务
    DiscardOldest:丢弃最老的
    CallerRuns:提交线程处理任务
    自定义策略
    4.ForkJoinPool
    分解汇总任务
    WorkStealingPool
    每一个线程都有自己的任务队列,当任务队列为空时,会去其他线程的任务队列取任务来执行
    RecursiveAction 没有返回值 RecursiveTask 有返回值
    递归任务,进行切分
    5.Executors