jdk concurrent collection---ConcurrentLinkedQueue原理分析
来源:互联网 发布:免费呼叫软件 编辑:程序博客网 时间:2024/04/29 04:20
先来回顾之前提到过的ConcurrentHashMap,它是一个以Concurrent开头的并发集合类,其原理是通过增加锁和细化锁的粒度来提高并发度。
@ThreadSafe
public class LinkedQueue <E> {
private static class Node <E> {
final Eitem;
finalAtomicReference<Node<E>> next;
public Node(E item, Node<E> next) {
this.item = item;
this.next = new AtomicReference<Node<E>>(next);
}
}
private final Node<E> dummy = new Node<E>(null,null);
private final AtomicReference<Node<E>> head
= new AtomicReference<Node<E>>(dummy);
private final AtomicReference<Node<E>> tail
= new AtomicReference<Node<E>>(dummy);
public boolean put(E item) {
Node<E> newNode = new Node<E>(item, null);
while (true) {
Node<E> curTail = tail.get();
Node<E> tailNext = curTail.next.get();
if (curTail == tail.get()) {
if (tailNext != null) {
tail.compareAndSet(curTail, tailNext);
} else {
if (curTail.next.compareAndSet(null, newNode)) {
tail.compareAndSet(curTail, newNode);
return true;
}
}
}
}
}
}
- jdk concurrent collection---ConcurrentLinkedQueue原理分析
- jdk concurrent collection---ConcurrentLinkedQueue原理分析
- jdk concurrent collection---ConcurrentHashMap原理分析
- jdk concurrent threadPool---ThreadPoolExecutor原理分析
- ConcurrentLinkedQueue原理分析
- ConcurrentLinkedQueue的实现原理分析
- ConcurrentLinkedQueue的实现原理分析
- ConcurrentLinkedQueue的实现原理分析
- ConcurrentLinkedQueue的实现原理分析
- ConcurrentLinkedQueue的实现原理分析
- ConcurrentLinkedQueue的实现原理分析
- ConcurrentLinkedQueue 的实现原理分析
- ConcurrentLinkedQueue的实现原理分析
- ConcurrentLinkedQueue的实现原理分析
- Java concurrent Framework并发容器之ConcurrentLinkedQueue(1.6)源码分析 ??
- java.util.concurrent.ConcurrentLinkedQueue
- ConcurrentLinkedQueue的实现原理和源码分析
- ConcurrentLinkedQueue的实现原理和源码分析
- 求助:org.apache.jasper.JasperException
- 虚拟主机、独立主机和VPS主机的区别
- #progma 使用详解
- jBPM的简单介绍
- java中关于优先级队列的实现
- jdk concurrent collection---ConcurrentLinkedQueue原理分析
- struts-config.xml配置详解
- tsocks.conf, resolv.conf, dhclient.conf
- 每天进步一点点-JavaScript之ECMAScript(继JavaScript标准)原始类型(primitive type)
- 求助vs2008安装问题
- WMA 文件格式解析
- Peer-to-Peer Programming
- j2me
- pku1204 Word Puzzles (Trie)