阻塞算法Semaphore实现
2013-03-20 12:55
169 查看
public class SemaphoreSynchronousQueue<E> { E item = null; Semaphore sync = new Semaphore(0); Semaphore send = new Semaphore(1); Semaphore recv = new Semaphore(0); public E take() throws InterruptedException { recv.acquire(); E x = item; sync.release(); send.release(); return x; } public void put (E x) throws InterruptedException{ send.acquire(); item = x; recv.release(); sync.acquire(); } }
相关文章推荐
- 非阻塞算法在并发容器中的实现【转】
- 多线程基础之六:Pthread Win32实现的非阻塞请求机制的Semaphore
- 非阻塞算法在并发容器中的实现
- 【JAVA-CONCURRENT】 利用SEMAPHORE 实现有界阻塞容器
- 非阻塞算法在并发容器中的实现
- Non-blocking algorithm(非阻塞算法,非阻塞同步的算法实现)
- java 非阻塞算法在并发容器中的实现(ConcurrentLinkedQueue源码)
- java 非阻塞算法实现基础:unsafe类介绍
- 使用Semaphore实现阻塞队列
- 非阻塞算法在并发容器中的实现
- 黑马程序员——Java5中的线程并发库(二)--Semaphore实现信号灯、其他同步函数、可阻塞的队列、同步集合
- 阻塞算法实现synchronized实现方式
- 阻塞算法实现synchronized实现方式
- 二分法的算法实现(c++)以及具体实例
- 非阻塞connect的实现
- 算法——蛮力法之选择排序和冒泡排序c++实现
- 线性表:顺序队列算法实现
- Latent Dirichlet Allocation(LDA)主题模型算法实现及源码解析
- 分类算法——决策树算法及其R实现
- 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔