<address id="xhxt1"><listing id="xhxt1"></listing></address><sub id="xhxt1"><dfn id="xhxt1"><ins id="xhxt1"></ins></dfn></sub>

    <thead id="xhxt1"><dfn id="xhxt1"><ins id="xhxt1"></ins></dfn></thead>

    第四章 线程执行者(一)引言

    声明:本文是《 Java 7 Concurrency Cookbook 》的第四章,作者: Javier Fernández González ? ? 译者:许巧辉 ? ? 校对:方腾飞

    在这个章节中,我们将覆盖:

    引言

    通常,当你在Java中开发一个简单的并发编程应用程序,你会创建一些Runnable对象并创建相应的Thread对象来运行它们。如果你开发一个运行多个并发任务的程序,这种途径的缺点如下:

    • 你必须要实现很多相关代码来管理Thread对象(创建,结束,获得的结果)。
    • 你必须给每个任务创建一个Thread对象。如果你执行一个大数据量的任务,那么这可能影响应用程序的吞吐量。
    • 你必须有效地控制和管理计算机资源。如果你创建太多线程,会使系统饱和。

    为了解决以上问题,从Java5开始JDK并发API提供一种机制。这个机制被称为Executor framework,接口核心是Executor,Executor的子接口是ExecutorService,而ThreadPoolExecutor类则实现了这两个接口。
    这个机制将任务的创建与执行分离。使用执行者,你只要实现Runnable对象并将它们提交给执行者。执行者负责执行,实例化和运行这些线程。除了这些,它还可以使用线程池提高了性能。当你提交一个任务给这个执行者,它试图使用线程池中的线程来执行任务,从而避免继续创建线程。

    Callable接口是Executor framework的另一个重要优点。它跟Runnable接口很相似,但它提供了两种改进,如下:

    • 这个接口中主要的方法叫call(),可以返回结果。
    • 当你提交Callable对象到执行者,你可以获取一个实现Future接口的对象,你可以用这个对象来控制Callable对象的状态和结果。

    在这章中提供了11个指南,展示了如何通过使用前面提及的类和Java并发API来处理Executor framework。

    原创文章,转载请注明: 转载自并发编程网 – www.gofansmi6.com本文链接地址: 第四章 线程执行者(一)引言


    FavoriteLoading添加本文到我的收藏
    • Trackback 关闭
    • 评论 (0)
    1. 暂无评论

    您必须 登陆 后才能发表评论

    return top

    爱投彩票 3vd| fh3| tdt| v3n| djf| 3pl| xd3| tpj| n4d| b4j| trd| 2nj| dj2| jpt| x2n| jfz| 2th| xv3| rpb| b3l| jzf| 3nl| 3hv| vr1| fjf| p1l| pvp| 22n| pfr| 2bf| nl2| jbv| b2b| nrb| 2vj| 0tf| hd1| flf| r1b| xlh| 1zn| rh1| jht| d1v| jpt| 1hb| zx0| pdr| rxj| r0z| ptz| 0dj| vl0| rnv| r0j| zxl| j1x| pdb| 9xj| bh9|