本教程操作环境:windows7系统、java10版,DELL G3电脑。
1.源码详解
privatestaticclassNode<E>{
volatileEitem;
volatileNode<E>next;
Node(Eitem){
UNSAFE.putObject(this,itemOffset,item);
}
booleancasItem(Ecmp,Eval){
returnUNSAFE.compareAndSwapObject(this,itemOffset,cmp,val);
}
voidlazySetNext(Node<E>val){
UNSAFE.putOrderedObject(this,nextOffset,val);
}
booleancasNext(Node<E>cmp,Node<E>val){
returnUNSAFE.compareAndSwapObject(this,nextOffset,cmp,val);
}
2.构造函数
publicConcurrentLinkedQueue(){
head=tail=newNode<E>(null);
}
当创建对象时,头尾节点都是指向一个空节点。
原文来自:https://www.py.cn
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
    

















































暂无评论内容