美文网首页技术干货java多线程编程
java并发编程(1):并发编程框架简介

java并发编程(1):并发编程框架简介

作者: 桥头放牛娃 | 来源:发表于2019-10-09 19:57 被阅读0次

    1、Executor框架

    Executor框架构建线程池及任务调度处理。

    Executor框架.png

    Executor接口:线程执行的基本接口,用户通过此接口提交任务给线程或线程池执行;
    ExecutorSevice接口:线程池相关操作接口,定义了线程池的维护、任务提交及状态维护等相关接口;
    AbstractExecutorService抽象类:ExecutorSevice接口的抽象实现;
    ThreadPoolExecutor线程池类:线程池的具体实现类,实现了线程池的创建、维护等,任务的提交、任务队列的维护、任务的分发执行等相关操作。
    ScheduledThreadPoolExecutor:继承于ThreadPoolExecutor的实现类,可基于时间延时或时间间隔进行任务执行和调度等;
    ForkJoinPool:继承于AbstractExecutorService,基于任务拆分结果聚合的架构;
    DelegatedExecutorService:由Executors工具类实现,ExecutorService的包装器类,使得ExecutorService不可变;
    FinalizableDelegatedExecutorService:由Executors工具类实现,实现了finalize()方法的DelegatedExecutorService类;
    DelegatedScheduledExecutorService:由Executors工具类实现,基于时间延迟和时间间隔调度的DelegatedExecutorService类;

    2、Future框架

    Future封装异步执行结果等数据;

    Future框架.png

    Future:封装异步执行的结果及任务状态等;
    RunnableFuture:继承于Runnable及Future接口;
    FutureTask:封装了线程、任务、任务状态维护、任务结果、等待队列等相关信息;
    ScheduledFutureTask:继承于FutureTask,同时保存了任务调度时间相关信息。
    ForkJoinTask:封装了任务拆分及结果聚合相关处理;

    3、BlockingQueue阻塞队列

    BlockingQueue为任务队列,是任务生产和线程消费的缓存通道。

    BlockingQueue阻塞队列.png

    BlockingQueue:阻塞队列接口,封装对象添加及获取的相关接口;
    ArrayBlockingQueue:基于数组实现的阻塞队列;
    LinkedBlockingQueue:基于队列实现的阻塞队列;
    PriorityBlockingQueue:支持优先级的阻塞队列;
    DelayedWorkQueue:基于时间延迟的排序的队列,主要在ScheduledThreadPoolExecutor中使用。

    相关文章

      网友评论

        本文标题:java并发编程(1):并发编程框架简介

        本文链接:https://www.haomeiwen.com/subject/zjfnpctx.html