多线程下非阻塞堆栈的实现
来源:互联网 发布:java 调用实例的方法 编辑:程序博客网 时间:2024/05/22 06:28
此实现来自:点击打开链接
具体如下:
package com.test;import java.util.concurrent.atomic.AtomicReference;public class ConcurrentStack<E>{ private AtomicReference<Node<E>> head = new AtomicReference<Node<E>>(); public void push(E item) { Node<E> newHead = new Node<E>(item); Node<E> oldHead; do { oldHead = head.get(); newHead.next = oldHead; }while(!head.compareAndSet(oldHead, newHead)); } public E pop() { Node<E> newHead; Node<E> oldHead; for(;;) { oldHead = head.get(); newHead = oldHead.next; if(head.compareAndSet(oldHead, newHead)) { return oldHead.item; } } } static class Node<E> { final E item; Node<E> next; public Node(E item) { this.item = item; } }}
- 多线程下非阻塞堆栈的实现
- PHP实现多线程 异步 非阻塞
- 通过多线程实现非阻塞TCP通信
- Linux下非阻塞读取键值的实现
- socket 非阻塞模式下的connect封装实现
- 非阻塞connect的实现
- 非阻塞connect的实现
- 非阻塞connect的实现
- 非阻塞connect的实现
- 非阻塞connect的实现
- 非阻塞connect的实现
- 非阻塞connect的实现
- 非阻塞 connect 的实现
- Linux下基于socket多线程并发通信的实现 阻塞
- nodejs多线程,真正的非阻塞
- nodejs多线程,真正的非阻塞
- nodejs多线程,真正的非阻塞
- nodejs多线程,真正的非阻塞
- GDI+和GDI区别以及一些新特征
- TortoiseSVN在samba环境下提交代码出错的解决方法
- sharepoint2010---Turn on or turn off self-service site creation
- HTTP Response Caching for Java and Android
- UML图 符号的含义
- 多线程下非阻塞堆栈的实现
- 将字符赋给整形变量
- XSSer(超强XSS攻击利器)使用说明中文版
- Windows中使用DLL在进程间共享数据
- 模板是smarty,怎样用session语句,foreach语句来显示数组
- win7中如何干净的删除mysql 关键步骤
- c# xml与datatable操作
- 叶飘落,诉说着冷寂与孤独
- oracle连接数据库提示:包接收失败:ORA-12637