Doug Lea并发编程文章全部译文
weijiasihai
这个作者很懒,什么都没留下…
展开
-
Java内存模型Cookbook-前言
Doug Lea并发编程文章全部译文Doug Lea’s Home Page如果IT的历史,是以人为主体串接起来的话,那么肯定少不了Doug Lea。这个鼻梁挂着眼镜,留着德王威廉二世的胡子,脸上永远挂着谦逊腼腆笑容,服务于纽约州立大学Oswego分校计算机科学系的老大爷。说他是这个世界上对Java影响力最大的个人,一点也不为过。因为两次Java历史上的大变革,他都间接或直接的扮演...转载 2018-11-20 16:26:06 · 194 阅读 · 0 评论 -
Java内存模型FAQ(八到九)
Java内存模型FAQ(八)Final字段如何改变它们的值原文:http://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html 第八章译者:Alex我们可以通过分析String类的实现具体细节来展示一个final变量是如何可以改变的。String对象包含了三个字段:一个character数组,一个数组的offset和一个l...转载 2018-11-21 17:06:47 · 104 阅读 · 0 评论 -
Java内存模型FAQ(七)同步会干些什么呢
Java内存模型FAQ(七)同步会干些什么呢原文:http://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html 第七章译者:Alex同步有几个方面的作用。最广为人知的就是互斥 ——一次只有一个线程能够获得一个监视器,因此,在一个监视器上面同步意味着一旦一个线程进入到监视器保护的同步块中,其他的线程都不能进入到同一个监视器保护...转载 2018-11-21 17:05:22 · 73 阅读 · 0 评论 -
Java内存模型FAQ(二到六)
Java内存模型FAQ(二) 其他语言,像C++,也有内存模型吗?原文:http://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html 第二章译者:Alex大部分其他的语言,像C和C++,都没有被设计成直接支持多线程。这些语言对于发生在编译器和处理器平台架构的重排序行为的保护机制会严重的依赖于程序中所使用的线程库(例如pthr...转载 2018-11-21 17:04:43 · 121 阅读 · 0 评论 -
Java内存模型FAQ(一) 什么是内存模型
Java内存模型FAQ(一) 什么是内存模型原文:http://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html 第一章 译者:方腾飞在多核系统中,处理器一般有一层或者多层的缓存,这些的缓存通过加速数据访问(因为数据距离处理器更近)和降低共享内存在总线上的通讯(因为本地缓存能够满足许多内存操作)来提高CPU性能。缓存能够大大提升性...转载 2018-11-20 18:33:11 · 99 阅读 · 0 评论 -
Java内存模型FAQ
Java内存模型FAQ原文:http://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html 译者:Alex,方腾飞目录什么是内存模型? 其他语言,像c++,也有内存模型吗? JSR 133是什么? 重排序是什么? 旧内存模型有什么错误? 没有正确同步的含义是什么? 同步会做些什么呢? final字段如何改变它们...转载 2018-11-20 18:32:01 · 64 阅读 · 0 评论 -
Java内存模型Cookbook(四)指南(Recipes)
Java内存模型Cookbook(四)指南(Recipes)原文:http://gee.cs.oswego.edu/dl/jmm/cookbook.html作者:Doug Lea 翻译:丁一前言 指令重排 内存屏障 多处理器 指南单处理器(Uniprocessors)如果能保证正在生成的代码只会运行在单个处理器上,那就可以跳过本节的其余部分。因为单处理器保持着明显的顺序一...转载 2018-11-20 18:30:01 · 94 阅读 · 0 评论 -
Java内存模型Cookbook(三)多处理器
Java内存模型Cookbook(三)多处理器原文:http://gee.cs.oswego.edu/dl/jmm/cookbook.html作者:Doug Lea 翻译:古圣昌 校对:欧振聪,方腾飞指令重排 内存屏障 多处理器 指南本文总结了在多处理器(MPs)中常用的的处理器列表,处理器相关的信息都可以从链接指向的文档中得到(一些网站需要通过注册才能得到相应的手册)。当...转载 2018-11-20 18:29:31 · 154 阅读 · 0 评论 -
Java内存模型Cookbook(二)内存屏障
Java内存模型Cookbook(二)内存屏障原文:http://gee.cs.oswego.edu/dl/jmm/cookbook.html 第二节作者:Doug Lea 翻译:潘曦 校对:方腾飞指令重排 内存屏障 多处理器 指南编译器和处理器必须同时遵守重排规则。由于单核处理器能确保与“顺序执行”相同的一致性,所以在单核处理器上并不需要专门做什么处理,就可以保证正确的执...转载 2018-11-20 18:29:03 · 159 阅读 · 0 评论 -
JMM Cookbook(一)指令重排
JMM Cookbook(一)指令重排原文地址:http://gee.cs.oswego.edu/dl/jmm/cookbook.html 第一章 译者:欧振聪 校对:李同杰前言 指令重排 内存屏障 多处理器 指南指令重排对于编译器的编写者来说,Java内存模型(JMM)主要是由禁止指令重排的规则所组成的,其中包括了字段(包括数组中的元素)的存取指令和监视器(锁)的控制指令。...转载 2018-11-20 18:27:28 · 147 阅读 · 0 评论 -
Java内存模型Cookbook-前言
Java内存模型Cookbook-前言原文地址:http://gee.cs.oswego.edu/dl/jmm/cookbook.html作者:Doug Lea。由 JMM邮件组的成员提供帮助. dl@cs.oswego.edu.译者:潘曦,丁一,古圣昌,欧振聪,方腾飞 校对:欧振聪,方腾飞前言:从最初的探索至今已经有十年了。在此期间,很多关于处理器和语言的内存模型的规范和问题变...转载 2018-11-20 18:26:20 · 97 阅读 · 0 评论 -
任务取消(Cancellation)
任务取消(Cancellation)原文链接:http://gee.cs.oswego.edu/dl/cpj/cancel.html作者:Doug Lea 译者:丁一当某个线程中的活动执行失败或想改变运行意图,也许就有必要或想要在其它线程中取消这个线程的活动,而不管这个线程正在做什么。取消会给运行中的线程带来一些无法预料的失败情况。取消操作异步特性相关的设计技巧,让人想起了因系统崩溃和...转载 2018-11-20 18:22:28 · 1389 阅读 · 0 评论 -
Java并发结构
Java并发结构原文链接:http://gee.cs.oswego.edu/dl/cpj/mechanics.html作者:Doug Lea 译者:萧欢 校对:方腾飞内容线程 同步 监视器线程线程是一个独立执行的调用序列,同一个进程的线程在同一时刻共享一些系统资源(比如文件句柄等)也能访问同一个进程所创建的对象资源(内存资源)。java.lang.Thread对象负责统...转载 2018-11-20 18:17:20 · 164 阅读 · 0 评论 -
Java内存模型FAQ(十到十三)
Java内存模型FAQ(十)volatile是干什么用的原文:http://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html#volatile译者:AlexVolatile字段是用于线程间通讯的特殊字段。每次读volatile字段都会看到其它线程写入该字段的最新值;实际上,程序员之所以要定义volatile字段是因为在某些情况下...转载 2018-11-21 17:07:46 · 140 阅读 · 0 评论