Java 7 Concurrency Cookbook – Javier Fernández González -前言

原文下载链接     作者: Javier Fernández González     译者:郑玉婷

前言

当你用计算机工作的时候,你在同时做多样事情。你可以边听音乐边写文档边读取邮件。你可以这样做的原因是你的操作系统运行并发任务。并发编程是关于基础与进程的一个 提供多任务或者程序同时运行还相互沟通来交换数据和相互同步的平台。Java是一个并发平台,在Java程序中提供很多执行并发任务的类。每个版本,Java提升了促进程序员开发并发程序的功能。这本书包含了在Java版本7的并发API中最重要和最有用的技巧,所以你可以直接在你的应用程序中使用的,以下这些:

• 基本线程管理
• 线程同步机制
• 执行者代表的线程的创建与管理
• Fork/Join框架来提高应用程序的性能
• 并发程序的数据结构
• 按照需要来调整一些并发类的默认行为
• 测试Java的并发应用程序

这本书包含了什么
第一章, 线程管理会教读者怎样创建线程的基本操作。线程的创建,运行,和状态的管理都会用基本例子来讲解。

第二章, 基本的线程同步会教读者使用低级别Java 进程来同步代码。锁和同步的关键词都会详讲。

第三章, 线程同步实用程序讲教读者使用高等级的Java来管理线程之间的同步。它包括了怎样使用新Java 7 Phaser类来把同步任务分成段。

第四章, 线程执行者将教读者用执行者代表来管理线程。他们允许并发任务的运行,管理和获取结果。

第五章, Fork/Join框架将教读者使用新 Java 7 Fork/Join 框架. 它是一种特别的执行者面向执行被分治技术分成小的任务。

第六章, 并发集合将教读者怎样使用一些Java语言提供的并发数据结构。并发程序必须使用这些数据结构来避免在它们的实现中使用同步代码块。

第七章, 定制并发类将教读者怎样根据需求来改编Java并发API中一些特别有用的类。

第八章, 测试并发应用程序将教读者怎样获取Java 7 并发API中最有用的结构状态信息。读者还会学习怎样使用免费的工具来调试并发应用,例如,用Eclipse, NetBeans IDE, or FindBugs程序来侦查可能存在的漏洞。 

时间: 2024-09-16 13:24:52

Java 7 Concurrency Cookbook – Javier Fernández González -前言的相关文章

Java内存模型Cookbook(三)多处理器

原文:http://gee.cs.oswego.edu/dl/jmm/cookbook.html 作者:Doug Lea 翻译:古圣昌   校对:欧振聪,方腾飞 指令重排 内存屏障 多处理器 指南 本文总结了在多处理器(MPs)中常用的的处理器列表,处理器相关的信息都可以从链接指向的文档中得到(一些网站需要通过注册才能得到相应的手册).当然,这不是一个完全详细的列表,但已经包括了我所知道的在当前或者将来Java实现中所使用的多核处理器.下面所述的关于处理器的列表和内容也不一定权威.我只是总结一下

Java内存模型Cookbook(四)指南(Recipes)

原文:http://gee.cs.oswego.edu/dl/jmm/cookbook.html 作者:Doug Lea 翻译:丁一 前言 指令重排 内存屏障 多处理器 指南 单处理器(Uniprocessors) 如果能保证正在生成的代码只会运行在单个处理器上,那就可以跳过本节的其余部分.因为单处理器保持着明显的顺序一致性,除非对象内存以某种方式与可异步访问的IO内存共享,否则永远都不需要插入屏障指令.采用了特殊映射的java.nio buffers可能会出现这种情况,但也许只会影响内部的JV

Java内存模型Cookbook(二)内存屏障

原文:http://gee.cs.oswego.edu/dl/jmm/cookbook.html 第二节 作者:Doug Lea 翻译:潘曦   校对:方腾飞 指令重排 内存屏障 多处理器 指南 编译器和处理器必须同时遵守重排规则.由于单核处理器能确保与"顺序执行"相同的一致性,所以在单核处理器上并不需要专门做什么处理,就可以保证正确的执行顺序.但在多核处理器上通常需要使用内存屏障指令来确保这种一致性.即使编译器优化掉了一个字段访问(例如,因为一个读入的值未被使用),这种情况下还是需要

Java 7 并发编程指南中文版

原文链接 作者: Javier Fernández González  译者:郑玉婷,许巧辉 校对:方腾飞,欧振聪   申明:本书由并发编程网组织翻译,只供研究和学习之用,禁止任何人用于商业用途. 当你用计算机工作的时候,你在同时做多样事情.你可以边听音乐边写文档边读取邮件.可以这样做的原因是你的操作系统运行并发任务.并发编程是关于基础与进程的一个提供了多任务或者多程序同时运行还相互沟通来交换数据和相互同步的平台.Java是一个并发平台,在Java程序中提供了很多执行并发任务的类.每个版本,Ja

Java并发编程示例(一):线程的创建和执行_java

开门见山 在IT圈里,每当我们谈论并发时,必定会说起在一台计算机上同时运行的一系列线程.如果这台电脑上有多个处理器或者是一个多核处理器,那么这时是实实在在的"同时运行":但是,如果计算机只有一个单核处理器,那么这时的"同时运行"只是表象而已. 所有的现代操作系统全部支持任务的并发执行.你可以边听音乐,边上网看新闻,还不耽误首发电子邮件.我们可以说,这种并发是 进程级并发 .在进程内部,我也可以看到有许许多多的并发任务.我们把运行在一个进程里面的并发任务称 线程. 和

Java并发编程示例(十):线程组_java

对线程分组是Java并发API提供的一个有趣功能.我们可以将一组线程看成一个独立单元,并且可以随意操纵线程组中的线程对象.比如,可以控制一组线程来运行同样的任务,无需关心有多少线程还在运行,还可以使用一次中断调用中断所有线程的执行. Java提供了ThreadGroup类来控制一个线程组.一个线程组可以通过线程对象来创建,也可以由其他线程组来创建,生成一个树形结构的线程. 根据<Effective Java>的说明,不再建议使用ThreadGroup.建议使用Executor. --D瓜哥特此

Java并发编程示例(八):处理线程的非受检异常_java

Java语言中,把异常分为两类: 受检异常: 这类异常必须在throws子句中被显式抛出或者在方法内被捕获.例如,IOException异常或ClassNotFoundException异常.非受检异常: 这类异常不需要显式抛出或捕获.例如,NumberFormatException异常. 当一个受检异常在Thread对象的run()方法中被抛出时,我们必须捕获并处理它,因为run()方法不能抛出异常.而一个非受检异常在Thread对象的run()方法中被抛出时,默认的行为是在控制台打印出堆栈跟

Java并发编程示例(三):线程中断_java

一个多线程的Java程序,直到所有线程执行完成,整个程序才会退出.(需要注意的是,是所有非后台线程(non-daemon thread)执行完成:如果一个线程执行了System.exit()方法,程序也会退出.)有时,你想中止一个线程的执行,例如你想退出程序,或者你想取消一个正在执行的任务等. Java提供了中断机制,可以让我们显式地中断我们想中止执行的线程.中断机制的一个特征就是我们可以检查线程是否已经被中断,进而决定是否响应中止请求.线程也可以忽略中止请求,继续执行. 在本节,我们所开发的示

Java并发编程示例(六):等待线程执行终止_java

在某些场景下,我们必须等待线程执行完成才能进行下一步工作.例如,某些程序在开始执行之前,需要先初始化一些资源.这时,我们可以启动一个线程专门来做初始化任务,等到线程任务完成后,再去执行其他部分. 为此,Thread类为我们提供了join()方法.当我们使用线程对象调用此方法时,正在掉调用的线程对象将被推迟到被调用对象执行完成后再开始执行. 在本节,示例程序演示等待初始化方法完成后,再去执行其他任务. 知其然 按照下面所示步骤,完成示例程序. 1.创建一个名为DataSourcesLoader的类