自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

翻译 7.5重入读写锁( ReentrantReadWritelock)

ReadWriteLock是继承ReantrantReadWriteLock的类,这就声明了一个重入读写锁,有点类似于ReentrantLock.     你可以通过以下的方法来初始化ReentrantReadWriteLock的实例。        ReentrantReadWriteLock():创建一个ReentrantReadWriteLock的实例。这个构造器类似于Ree

2017-12-30 22:15:53 348

翻译 7.4读写锁(ReadWriteLock)

数据结构比起修改更为常见的是读取的情况。例如,你可能创建一个在线和字典,定义许多线程将会同时进行读,在些期间一个信息线程可能会添加新的定义或更新定义。在高并发的情况,要读和安全的执行写,锁框架提供了读写锁的机制。这个机制就是以ReadWriteLock为基础的接口。      ReadWriteLock是一对锁:一个锁是仅仅给读操作和另一个锁是仅仅给写操作。读写锁在多个读的线程中可以会被同时持

2017-12-30 22:14:55 205

翻译 7.3 环境(Condition)

环境(Condition)因素对对象的等待和通知方法(waite(),notify()和notifyall()方法)作为不同的状态对象,给这些对象的多个等待集合的影响。这里我们用锁(Lock)取代同步(synchronize)方法和阻塞,环境(Condition)取代对象的等待(wait)和唤醒(notifycation)的方法。       Note 环境(Condition)实例本质上

2017-12-30 22:12:51 325

翻译 7.2 重入锁(ReentrantLock)

锁(Lock)通过应用重入锁(ReentrantLock)的类,它将使用的是重入的互斥锁。这个锁连接着一个持有计数。当一个线程持有锁,和请求锁通过执行lock()、lockUninterruptibly()或其中一个tryLock()方法时,持有计数就会加1。当线程执行unlock()的方法时,这个持有计数就会减1.当计数为0时,锁就会释放。      重入锁(ReentrantLock)提供

2017-12-30 22:10:19 248

翻译 7.1 锁(Lock)

锁的接口提供许多可扩展的锁应用,而它包含经过锁关联的监测器。例如,当一个锁没有用时,你可以快速撤消锁的获取。这个接口声明了如下的方法:      void lock():请求锁。当锁没有作用时,请求线程会处于强迫等待状态直到锁可以用。  void lockInterruptibly():请求等到锁,除非请求的线程被打断。当请求的锁不可用时,请求的线程会处于被迫等待状态,直到它变成可用。

2017-12-30 22:08:05 245

翻译 7. 锁定框架(The Locking Framework)

java.util.concurrent.locks的包提供一个接口和类的接口,主要用于在方法中正在锁住和等待的状态,这个状态来自于同步锁的基础和java.lang.Object的等待和唤醒的机制。并发的工具包含锁的框架,它通过锁池和等待时间等等以提高锁和等待唤醒机制。java提供同步机制,以至于线程可以安全地更新和分享变量,和确保一个线程的安全对于其它线程是有效的。你在自己的代码将同步用

2017-12-30 22:07:08 314

翻译 6.6总结

java为同步线程访问关键部分提供了synchronized关键字。基于代码同步和高级同步者包含并发工具是很难写出正确的同步代码。     一个countdown latch导致一个或多个线处于“门”外等待,直到其它线程为它开户这个门,而关键的是其它线程可以正常继续。它包含着一个计数和操作,操作当前的线程等待直到计数为0 ,计数是在递减的。     一个循环的障碍(cyclicbarrie

2017-12-30 22:05:43 213

翻译 6.5移相器(Phasers)

移相器(phaser)是一个更加灵活的循环障碍。像一个循环的障碍,一个移相器(phaser)让一组在等待的线程处于障碍中,在最新线程到达之前,这些线程会继续处于障碍。一个移相器(phaser)提供相同的障碍动作。不像一个循环的障碍,它维持着一个固定数量的线程。一个移相器(phaser)可以维持着多样的数量的线程,它可以在任何时间注册。为了去应用这个的功能,一个移相器会应用移相或移相数据。   

2017-12-30 22:03:14 3294

翻译 6.4信号灯(Semaphores)

一个semaphore保持着许可,让线程受到束缚,限制它们的资源。一个线程通过请求一个许可,当没有许可时,要等待其它线程释放一个许可。       Note  semaphore的当前值可以递增近1,被称为计数semaphore。而semaphore的值只能为0或1,被称为二进制的semaphore、互斥。在这两种情况下,当前值不能为负1。java.util.concurrent.

2017-12-30 21:59:34 328

翻译 6.3交换器(Exchangers)

一个exchanger提供一个同步的点,这个会擦除对象。每一个在记录中出现的对象,都会去执行exchanger的exchange()的方法,匹配它的父线程,和接收返回父对象返回值。Exchanger在实际应用中很有作用,像遗传算法和流水线设计。     java.util.concurrent.Exchanger继承exchanger的同步者。你可以执行Exchanger()的构造器初始化一个

2017-12-30 21:58:45 328

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除