Exchanger是一个针对线程可以结对交换元素的同步器。每条线程把某个对象作为参数调用exchange方法,与伙伴线程进行匹配,然后再函数返回的时接收伙伴的对象。另外,Exchanger内部实现采用的是无锁算法,能够大大提高多线程竞争下的吞吐量以及性能。
算法实现
基本方法是维持一个“槽”(slot),这个槽是保持交换对象的结点的引用,同时也是一个等待填满的“洞”(hole)。如...
分类:
移动开发 时间:
2014-07-16 17:23:36
阅读次数:
484
CountDownLatch
CountDownLatch允许一条或者多条线程等待直至其它线程完成以系列的操作的辅助同步器。
用一个指定的count值对CountDownLatch进行初始化。await方法会阻塞,直至因为调用countDown方法把当前的count降为0,在这以后,所有的等待线程会被释放,并且在这以后的await调用将会立即返回。这是一个一次性行为——co...
分类:
移动开发 时间:
2014-07-12 20:53:26
阅读次数:
322