java多线程
文章平均质量分 96
CODERLIHAO
这个作者很懒,什么都没留下…
展开
-
java多线程-专题-聊聊并发(六)ConcurrentLinkedQueue的实现原理分析
本文是作者原创,首发于InfoQ:http://www.infoq.com/cn/articles/ConcurrentLinkedQueue1. 引言在并发编程中我们有时候需要使用线程安全的队列。如果我们要实现一个线程安全的队列有两种实现方式一种是使用阻塞算法,另一种是使用非阻塞算法。使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来转载 2015-07-27 10:41:44 · 576 阅读 · 0 评论 -
java多线程-专题-聊聊并发(五)原子操作的实现原理
本文属于作者原创,原文发表于InfoQ:http://www.infoq.com/cn/articles/atomic-operation1 引言原子(atom)本意是“不能被进一步分割的最小粒子”,而原子操作(atomic operation)意为”不可被中断的一个或一系列操作” 。在多处理器上实现原子操作就变得有点复杂。本文让我们一起来聊一聊在Inter处理器和Java里是如转载 2015-07-27 10:39:03 · 628 阅读 · 0 评论 -
java多线程-专题-聊聊并发(三)Java线程池的分析和使用
作者:方腾飞 原文发表于infoQ:http://www.infoq.com/cn/articles/java-threadPool1. 引言合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建转载 2015-07-27 10:29:33 · 511 阅读 · 0 评论 -
java多线程-专题-聊聊并发(十)生产者消费者模式
本文首发于InfoQ 作者:方腾飞 校对:张龙在并发编程中使用生产者和消费者模式能够解决绝大多数并发问题。该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度。为什么要使用生产者和消费者模式在线程世界里,生产者就是生产数据的线程,消费者就是消费数据的线程。在多线程开发当中,如果生产者处理速度很快,而消费者处理速度很慢,那么生产者就必须等待消费者处理完,转载 2015-07-27 10:46:22 · 1438 阅读 · 0 评论 -
java多线程-专题-聊聊并发(九)Java中的CopyOnWrite容器
Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteArraySet。转载 2015-07-27 10:46:20 · 468 阅读 · 0 评论 -
java多线程-专题-聊聊并发(八)——Fork/Join框架介绍
本文首发于InfoQ1. 什么是Fork/Join框架Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。我们再通过Fork和Join这两个单词来理解下Fork/Join框架,Fork就是把一个大任务切分为若干子任务并行的执行,Join就是合并这些子任务的执行结果,最后得到这个大转载 2015-07-27 10:44:14 · 1008 阅读 · 0 评论 -
java多线程-专题-聊聊并发(一)深入分析Volatile的实现原理
接下来的几个专题都是转自:并发编程网中的聊聊并发专题,别人说的很好了!技不如人。。慢慢参考吧。引言作者 方腾飞 发布于 2012年2月21日 在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改转载 2015-07-27 10:14:43 · 857 阅读 · 0 评论 -
java多线程-专题-聊聊并发(四)深入分析ConcurrentHashMap
本文是作者原创,发表于InfoQ:http://www.infoq.com/cn/articles/ConcurrentHashMap术语定义术语英文解释哈希算法hash algorithm是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。 哈希表hash table根据设转载 2015-07-27 10:36:58 · 623 阅读 · 0 评论 -
java多线程-专题-聊聊并发(二)Java SE1.6中的Synchronized
本文属作者原创,原文发表于InfoQ:http://www.infoq.com/cn/articles/java-se-16-synchronized1 引言在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重量级锁,但是随着Java SE1.6对Synchronized进行了各种优化之后,有些情况下它并不那么重了,本文详细介绍了Java SE1.6中为了减转载 2015-07-27 10:21:10 · 746 阅读 · 0 评论 -
java多线程-专题-聊聊并发(七)——Java中的阻塞队列
原文首发于InfoQ1. 什么是阻塞队列?阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。阻塞队列就是生产者存放元素的容器,而消费者也只从容器里拿元素。转载 2015-07-27 10:43:13 · 583 阅读 · 0 评论