java并发编程
文章平均质量分 65
本栏介绍java并发编程的相关技术,以及concurrent包中相关的实用工具类
阿童木-atom
行到水穷处,坐看云起时!
鄙人学富五车、才高八斗。技术能力称雄天下,敢领风骚数五百年。java、scala、python、C/C++、php登峰造极,精通Spring、mybatis、hibernate、struts2各种框架及具备各种大型系统架构能力,深耕搜索、推荐、数据挖掘、机器学习、深度学习、人工智能等领域,通读lucene、solr、elaticsearch、sphinx、mahout、tensorfolw等开源项目源码,精通hadoop、hbase、hive、spark、kafka、rabbit、activeMQ等大数据处理工具的应用。
展开
-
java并发编程之Semaphore原理分析与实例
Semaphore、CountDownLatch、CyclicBarrier、Exchanger、Phaser均是concurrent包提供的用于多线程同步的对像,使用它们可以相对方便的处理复杂的同步场景。Semaphore 实现了经典的信号量机制。信号量其实是一个非负整数表示可用共享资源的数目,主要用于两个目的,一个是用于多个共享资源的互斥使用,另一个用于并发线程数的控制。其内...原创 2018-05-22 11:23:18 · 16022 阅读 · 0 评论 -
java并发编程之CountDownLatch原理分析与实例
CountDownLatch的原理与Semaphore是类似的,其内部是用一个计数器控制线程间的同步,也是通过一个AbstractQueuedSynchronizer中state来实现的,state是一个private volatile long类型的对象。CountDownLatch使用state来计数,CountDownLatch的getCount最终调用的是AbstractQueuedS...原创 2018-05-22 12:47:59 · 15755 阅读 · 0 评论 -
java并发编程之CyclicBarrier原理分析与实例
CyclicBarrier是栅栏的意思,线程要越过这个栅栏才能继续执行,但是必须是所有的线程到齐后才能一起越过这个栅栏。主要适用了两个或多个线程的线程组在预定的执行点进行等待,直达线程组中所有的线程都到达执行点再继续执行。 例如一个团队游戏,总共10人参加,其中有一个项目是跨越高墙,跨越高墙高墙后的项目是必须10个人一起参加,缺一不可。那么先跨过高墙的人必须等待。这10个人就相当于10个...原创 2018-05-22 13:22:06 · 15762 阅读 · 0 评论