网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

(十一)并发集合——并发队列-创新互联

并发队列 ConcurrentLinkedQueue

无界的并发队列,内部用单向链表实现。核心源码如下

创新互联从2013年创立,先为石楼等服务建站,石楼等地企业,进行企业商务咨询服务。为石楼企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
//节点
private static class Node{
	volatile E item;
	volatile Nodenext;

	//创建node时不会有并发问题,直接写入元素
	Node(E item) {
		UNSAFE.putObject(this, itemOffset, item);
	}
	......
}
//队头指针
private transient volatile Nodehead;
//队尾指针
private transient volatile Nodetail;
public ConcurrentLinkedQueue() {
	//初始头和尾都指向空节点
	head = tail = new Node(null);
}
//入队
public boolean offer(E e) {
	//空指针检查
	checkNotNull(e);
	final NodenewNode = new Node(e);

	for (Nodet = tail, p = t;;) {
		//q指向p的后继
		Nodeq = p.next;
		if (q == null) {//p是最后一个节点
			if (p.casNext(null, newNode)) {//CAS操作,将newNode入队,直到成功为止
				if (p != t) //进入这个if分支说明 第一次循环p不是tail节点,走了外层else分支向后移动(其他线程入队);
					//CAS操作,将tail指向newNode,失败了也没关系,等下一个入队线程更新。
					casTail(t, newNode);  
				return true;
			}
			// CAS失败了会由其他线程重新读取
		}
		else if (p == q)
			//到达队尾
			p = (t != (t = tail)) ? t : head;
		else
			//p不是最后一个节点,p移到下个位置
			p = (p != t && t != (t = tail)) ? t : q;
	}
}
//出队
public E poll() {
	restartFromHead:
	for (;;) {
		for (Nodeh = head, p = h, q;;) {
			E item = p.item;
			//CAS操作,将p的item成功置为null,就算出队
			if (item != null && p.casItem(item, null)) {
				if (p != h) // 进入这个if分支说明 第一次循环p不是head节点,走了外层else分支向后移动(其他线程出队);
					//CAS操作,如果p的后继不为空则head置为p的后继,否则置为p,失败也没关系,等下一个出队线程更新
					updateHead(h, ((q = p.next) != null) ? q : p);
				return item;
			}
			else if ((q = p.next) == null) {//如果队列中为空
				updateHead(h, p);
				return null;
			}
			else if (p == q)
				continue restartFromHead;
			else
				p = q;
		}
	}
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站栏目:(十一)并发集合——并发队列-创新互联
文章地址:http://bjjierui.cn/article/cdjcgo.html

其他资讯