
并发
文章平均质量分 93
iteye_17060
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JAVA.util.concurrent 同步框架(翻译三)
接上一篇: http://caoyaojun1988-163-com.iteye.com/blog/1290759 4、运用:AbstractQueuedSynchronizer类将上述功能联系在一起,作为一个“模板方法模式[6]”中的模板类,作为其他同步器的基类。子类只是实现预定义方法,实现通过获取锁和释放锁的操作来检查和更新状态。然而,AbstractQueuedSy...2011-12-10 17:12:16 · 139 阅读 · 0 评论 -
AKKA 学习(二)--- AKKA 2.2 Actor 系统
Actor是封装了状态和行为的对象,它们仅仅通过交换消息(messages)实现相互通信。这些消息被放置到收件人的邮箱(mailbox)中。从某种意义上说,Actor是面向对象编程的最严格的形式,同时它让人更好理解它们:考虑使用Actor的解决方案,假设一群人,并指派子任务给他们,按照他们的职能作用将他们划分到一个组织结构中,并且需要思考如何处理失败的场景(所有不实际与人打交道的,这意...2014-10-09 08:44:28 · 261 阅读 · 0 评论 -
AKKA 学习(一)--- AKKA 2.1 术语和概念
首先简单介绍一下 AKKA:Akka是一个开发库和运行环境,可以用于构建高并发、分布式、可容错、事件驱动的基于JVM的应用。使构建高并发的分布式应用更加容易。有兴趣的童鞋可以看看官网 ,本系列翻译至它2.3.6版本的文档 , 前面的介绍、特性、使用安装就不说了,从第二章开始。在本章中,我们尝试建立一些共同的术语,来为akka的目标并发和分布式系统的交流打一个坚实基础。值得注意的是,...2014-10-07 12:42:13 · 214 阅读 · 0 评论 -
Mechanical Sympathy 系列翻译 内存访问模型
重要的内存访问模型在高性能的计算中,我们常说缓存失效(cache-miss)是一个算法中最大性能损失点。 近些年来,我们的处理器处理能力的增长速度已经大大超过了访问主内存的延迟的增长。 通过更宽的,多通道的总线,到主内存的带宽已经大大增加,但延迟并没有相应显著减少。 为了减少延迟,处理器采用愈加复杂的多层的高速缓存子系统。 在1994年的一篇论文“Hitting the memor...原创 2013-03-28 17:28:18 · 402 阅读 · 0 评论 -
Mechanical Sympathy 系列翻译 (CPU Cache Flushing Fallacy)
前言: 由于最近在学习LMAX Disruptor, 它是一个高效的并发框架,里面涉及到许多底层的并发话题,后来在http://mechanical-sympathy.blogspot.com/这个博客上,发现很多很好的文章。于是起心翻译之,一来借翻译加深学习印象,二来推广之。。 Mechanical Sympathy 这个短语非常有意思,直译过来是Mechan...原创 2013-02-19 19:50:55 · 352 阅读 · 0 评论 -
ConcurrentHashMap 解读(一)
一、核心思想 1、锁分离技术:ConcurrentHashMap首先将数据分成一段一段(segment)的存储,然后给每一段数据配一把锁,当一个线程占用锁访问其中一个段数据的时候,其他段的数据也能被其他线程访问。 2、 final 关键字保证HashEntery 对象的不变性,来降低执行读操作的线程在遍历链表期间对加锁的需求:ConcurrentHashMap完全允许多个读操作并...原创 2013-01-02 21:45:41 · 157 阅读 · 0 评论 -
CopyOnWriteArrayList 解读
一、 核心思想:CopyOnWriteArrayList的核心思想是利用高并发往往是读多写少的特性,对读操作不加锁,对写操作,先复制一份新的集合,在新的集合上面修改,然后将新集合赋值给旧的引用,并通过volatile 保证其可见性,当然写操作的锁是必不可少的了。二、类图预览: 方法基本分为CopyOnWriteArrayList、indexOf、contains、get、set、...原创 2013-01-01 09:50:08 · 244 阅读 · 0 评论 -
基于锁的并发算法 vs 无锁的并发算法
文本通过实例比较了各种基于锁的并发算法和无锁并发算法的性能:系 http://mechanical-sympathy.blogspot.com/2013/08/lock-based-vs-lock-free-concurrent.html 文翻译 上周在由Heinz Kabutz通过JCrete 组织的开放空间会议(unconference)上,我参加一个新的java规范...2013-10-17 17:55:39 · 325 阅读 · 0 评论 -
Mechanical Sympathy 系列翻译---合并写(write combining )
此文乃是翻译。。原文地址:http://mechanical-sympathy.blogspot.com/2011/07/write-combining.html墙内地址:http://ifeve.com/write-combining/ 合并写(write combining ) 现代CPU采用大量的技术来抵消内存访问延迟。...2013-05-13 21:25:50 · 448 阅读 · 0 评论 -
JAVA.util.concurrent 同步框架(翻译二)
接上一篇:http://caoyaojun1988-163-com.iteye.com/admin/blogs/1279097 3.3 队列 框架的核心是维护阻塞线程的队列,队列的策略是先进先出(FIFO),因此,该框架不支持基于优先级的同步 一直以来,对于同步队列的最合适的选择是无阻塞的数据结构有不小的争议,这种数据结构本身并不需要使用较低级别的锁来构...2011-12-03 22:20:09 · 119 阅读 · 0 评论 -
JAVA.util.concurrent 同步框架(翻译一)
最近在使用memcache客户端的时候,发现一个可能是多线程的问题,客户端的实现是NIO+JUC,由于出现频率很低,场景没有办法复原,一直没有找到问题的真正原因,通过代码走查也没有发现任何问题,于是决定回顾一下JUC的东西,看看是不是可以受到启发,于是决定先看一下大牛Doug Lea的论文,顺便翻译一下。由于英文水平很挫,又是第一次,希望不要误导了大家。废话不表。 JAVA.util...2011-11-26 22:54:16 · 150 阅读 · 0 评论 -
Java.util.concurrent 源码解读(一)
前面已经可以了解到AQS的设计,接下看一下具体的使用和实现:1、java.util.concurrent 的结构:曾经有一张图可以十分清楚地展示java.util.concurrent的结构,我也借来用一下,有助于理清楚整个大的结构,接下去主要是对各个部分的具体实现进行分析,首先还是从锁说起; 2、lock部分实现的类图:上图是整个AQS的类图,红色框类表示J...2011-12-25 15:52:48 · 142 阅读 · 0 评论 -
JAVA.util.concurrent 同步框架(翻译四)
接上一篇: http://caoyaojun1988-163-com.iteye.com/blog/1302936 5 性能虽然除了互斥锁,同步框架也支持其他许多风格的同步;但是锁的性能是最容易比较和衡量的,即便如此,还有很多不同的测量方法。这里的实验旨在揭示开销和吞吐量。在每项测试中,每个线程多次更新一个伪随机数,计算使用函数:nextRandom(INT种子): ...2011-12-17 21:55:55 · 106 阅读 · 0 评论 -
AKKA 学习(三)--- AKKA 2.3 理解 Actor
上一节的Actor系统解释了Actor的层次和构建的应用程序的最小单元。本节着眼于单独的一个Actor,解释为了实现它你需要了解的概念。更深入的详细信息,请参阅Actors (Scala)和无类型的Actor(JAVA)(链接暂时缺失)。 一 个Actor包含状态(State),行为(Behavio),邮箱(Mailbox),子Actor(Children)和监管策略 (...2014-10-25 19:04:25 · 245 阅读 · 0 评论