您的位置:首页 > 编程语言 > Java开发

java并发实战手册第三章(线程同步辅助类介绍)

2015-05-03 15:49 363 查看
[code]  java并发实战手册第三章---线程同步辅助类简介


在第二章中我们学习了同步和临界区的概念。并且讨论了多个并发任务共享一个资源时的同步情况。这个共享资源可以是一个对象也可以是一个对象的一个属性。访问共享资源的代码叫做临界区

第二章回顾(基本的同步机制)

synchronized关键字

Lock接口以及其实现类:如ReentrantLock,ReentrantReadWriteLock.ReadLock,和ReentrantReadWriteLock.WriteLock

在锁中使用条件Condition

在线程中使用Object类中的wati(),notify(),notifyAll()方法。

第三章内容简介

在本章中学习如何使用更高级的同步机制来实现多线程间的同步

1.信号量(Semaphore):一种计数器,用来保护一个或者多个共享资源的访问,是并发编程的一种基础工具,大多数编程语言都提高了这种机制。

2.CountDownLacth: java语言提供的一种同步辅助类,在完成一组正在其他线程中执行的操作之前,允许线程一直等待。

3.CyclicBarrier: java语言提供的一种同步辅助类,允许多个线程在某个集合点(common point)处相互等待。

4.Phaser:java语言提供的同步辅助类,把并发任务分成多个阶段运行,在开始下一个阶段之前,当前阶段中的所有线程都必须执行完成。java 7 API中的新特性。

5.Exchanger: 同步辅助类,提供了两个线程之间的数据交换点。

说明:在应用程序中,任何时候都可以使用Semaphore信号量来保护临界区,因为它是一个基础的同步机制,而其他的同步机制,则需要根据各自的上述特性来对其选择使用。所以我们需要根据应用程序的特性来选择合适的同步机制。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: