上一页 1 2 3 4 5 6 7 8 9 ··· 13 下一页
摘要: 引自:https://www.cnblogs.com/swiftma/p/6691235.html 上节,我们提到,在异步任务程序中,一种常见的场景是,主线程提交多个异步任务,然后希望有任务完成就处理结果,并且按任务完成顺序逐个处理,对于这种场景,Java并发包提供了一个方便的方法,使用Comple 阅读全文
posted @ 2019-04-11 17:23 x_jingxin 阅读(432) 评论(0) 推荐(0) 编辑
摘要: Java提供底层的线程特性以及线程池之类的高级并发工具类来支持并发。但是,并发的问题在于它无法最大化利用可用的处理器以及核心的资源。举个例子,假如你创建了一种排序算法将一个数组分成两个部分,安排两条线程分别排序每个部分,在线程都完成之后合并结果。 假设每条线程在不同的处理器上运行。由于不同数量的元素 阅读全文
posted @ 2019-04-11 09:43 x_jingxin 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 引自:https://blog.csdn.net/mmoren/article/details/79185862 本篇的思路是先阐明无锁执行者CAS的核心算法原理然后分析Java执行CAS的实践者Unsafe类,该类中的方法都是native修饰的,因此我们会以说明方法作用为主介绍Unsafe类,最后 阅读全文
posted @ 2019-04-10 16:23 x_jingxin 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 引自:http://ifeve.com/concurrent-collections-1/ 并发集合(一)引言 声明:本文是《 Java 7 Concurrency Cookbook 》的第六章,作者: Javier Fernández González 译者:许巧辉 校对:方腾飞 在本章中,我们将 阅读全文
posted @ 2019-04-10 14:17 x_jingxin 阅读(196) 评论(0) 推荐(0) 编辑
摘要: Condition声明了下列方法: void await(): 在接收到信号或者被中断之前,强制调用线程一直等待。 long awaitNanos(long nanosTimeout): 在接收到信号,被中断,或者超过指定的等待时间之前,强制当前线程一直等待。 boolean awaitUninte 阅读全文
posted @ 2019-04-09 17:37 x_jingxin 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 引自:http://ifeve.com/introduce-abstractqueuedsynchronizer/ 简介 提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架。该同步器(以下简称同步器)利用了一个int来表示状态,期望它能够成为实现大部分同步需求的基础。使用的方法 阅读全文
posted @ 2019-04-08 17:27 x_jingxin 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 倒计时门闩会导致多天线程在“门口”一直等待,直到另一条线程打开这扇门,线程才得以继续运行。 类CountDownLatch提供一下方法: void await(): 除非线程被中断,否则强制调用线程一直等到计数器倒数到0。 void countDown(): 递减计数,当计数降至0时,释放所有等待线 阅读全文
posted @ 2019-04-08 17:06 x_jingxin 阅读(550) 评论(0) 推荐(0) 编辑
摘要: 引自:https://shift-alt-ctrl.iteye.com/blog/2302923 在JAVA 1.7引入了一个新的并发API:Phaser,一个可重用的同步barrier。在此前,JAVA已经有CyclicBarrier、CountDownLatch这两种同步barrier,但是Ph 阅读全文
posted @ 2019-04-04 15:36 x_jingxin 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 引自:https://blog.csdn.net/Dason_yu/article/details/79734425 一、信号量一个计数信号量。从概念上讲,信号量维护了一个许可集。Semaphore经常用于限制获取某种资源的线程数量。在java并发中,即Semaphore维护指定数量许可,当Sema 阅读全文
posted @ 2019-04-03 17:55 x_jingxin 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 引自:https://blog.csdn.net/Dason_yu/article/details/79764467 一、定义每个线程将条目上的某个方法呈现给 exchange 方法,与伙伴线程进行匹配,并且在返回时接收其伙伴的对象。Exchanger 可能被视为 SynchronousQueue 阅读全文
posted @ 2019-04-03 16:54 x_jingxin 阅读(242) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 13 下一页