您好,欢迎来到聚文网。 登录 免费注册
Java并发编程实战

Java并发编程实战

  • 装帧: 平装
  • 出版社: 机械工业出版社
  • 作者: (美)盖茨
  • 出版日期: 2012-02-01
  • 商品条码: 9787111370048
  • 版次: 1
  • 开本: 其他
  • 页数: 293
  • 出版年份: 2012
定价:¥69 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
    第16届Jolt大奖提名图书
    JavaOne大会最畅销图书
    了解Java并发编程推荐阅读佳作
内容简介
    本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,最后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。
    本书适合Java程序开发人员阅读。
作者简介
    本书作者都是Java Community Process JSR 166专家组(并发工具)的主要成员,并在其他很多JCP专家组里任职。Brian Goetz有20多年的软件咨询行业经验,并著有至少75篇关于Java开发的文章。Tim Peierls是“现代多处理器”的典范,他在BoxPop.biz、唱片艺术和戏剧表演方面也颇有研究。Joseph Bowbeer是一个Java ME专家,他对并发编程的兴趣始于Apollo计算机时代。David Holmes是《The Java Programming Language》一书的合著者,任职于Sun公司。Joshua Bloch是Google公司的首席Java架构师,《Effective Java》一书的作者,并参与著作了《Java Puzzlers》。Doug Lea是《Concurrent Programming》一书的作者,纽约州立大学 Oswego分校的计算机科学教授。
目录
对本书的赞誉
译者序
前  言
第1章  简介
  1.1  并发简史
  1.2  线程的优势
    1.2.1  发挥多处理器的强大能力
    1.2.2  建模的简单性
    1.2.3  异步事件的简化处理
    1.2.4  响应更灵敏的用户界面
  1.3  线程带来的风险
    1.3.1  安全性问题
    1.3.2  活跃性问题
    1.3.3  性能问题
  1.4  线程无处不在
摘要
    第一章  简    介
         编写正确的程序很难,而编写正确的并发程序則难上加难。与串行程序相比,在并发程序中存在更多容易出错的地方。那么,为什么还要编写并发程序?线程是Java语言中不可或缺的重要功能,它们能使复杂的异步代码变得更简单,从而极大地简化了复杂系统的开发。此外,要想充分发挥多处理器系统的强大计算能力,最简单的方式就是使用线程。随着处理器数量的持续增长,如何高效地使用并发正变得越来越重要。
         1.1  并发简史
         在早期的计算机中不包含操作系统,它们从头到尾只执行一个程序,并且这个程序能访问计算机中的所有资源。在这种裸机环境中,不仅很难编写和运行程序,而且每次只能运行一个程序,这对于昂贵并且稀有的计算机资源来说也是一种浪费。
         操作系统的出现使得计算机每次能运行多个程序,并且不同的程序都在单独的进程中运行:操作系统为各个独立执行的进程分配各种资源,包括内存,文件句柄以及安全证书等。如果需要的话,在不同的进程之间可以通过一些粗粒度的通信机制来交换数据,包括:套接字、信号处理器、共享内存、信号量以及文件等。
         之所以在计算机中加入操作系统来实现多个程序的同时执行,主要是基于以下原因:
         资源利用率。在某些情况下,程序必须等待某个外部操作执行完成,例如输入操作或输出操作等,而在等待时程序无法执行其他任何工作。因此,如果在等待的同时可以运行另一个程序,那么无疑将提高资源的利用率。
          公平性。不同的用户和翠序对于计算机上的资源有着同等的使用权。一种高效的运行方式是通过粗粒度的时间分片(Time Slicing)使这些用户和程序能共享计算机资源,而不是由一个程序从头运行到尾,然后再启动下一个程序。
         便利性。通常来说,在计算多个任务时,应该编写多个程序,每个程序执行一个任务并在必要时相互通信,这比只编写一个程序来计算所有任务更容易实现。
       ……

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网