并发编程
DevXTalk
微信公众号【DevXTalk】
展开
-
Java并发编程的艺术09-并发栈与消除现象
本章讲述并发栈,消除现象,无锁交换机,后退消除栈栈(Stack) 是一种后进先出(LIFO)的数据结构。通常有 push() 和 pop() 函数。最后入栈的元素放在栈顶位置,并且最先出栈。本章内容我们将讨论栈并发。初看起来,栈似乎不可能支持并发(同一时刻栈顶只能被 push 或 pop),因为 push() , pop() 调用似乎都需要在栈顶进行同步。而不像队列是在入队和出队的两...原创 2020-04-05 07:39:00 · 333 阅读 · 0 评论 -
并发编程的艺术08-并发队列与ABA问题
队列很容易体现生产者,消费者模式,生产者和消费者往往都会同时存在多个,这就涉及到了队列的并发访问问题。队列提供了先进先出(FIFO)的公平性保证。队列一般会提供两个函数:1. enq(x) : 将元素 x 放入到队列的尾部。2. deq() : 移除并返回队列中最前面的元素。队列的函数可以是完全、部分或同步的:若一个函数的调用不需要等待某个条件成立,则称该函数是...原创 2020-04-03 10:06:41 · 341 阅读 · 0 评论