JUC
shangshanzixu
这个作者很懒,什么都没留下…
展开
-
CAS之ABA问题最形象例子!!
假设现在你使用链表维护了一个栈,栈中的元素如下:然后你有一个通过CAS算法实现的pop操作1.获取当前的栈顶:oldTop = head;2.获取栈顶元素的下一个元素:nextTop = oldTop.next;3.使用CAS算法,当栈顶元素为oldTop时,进行更新操作。4.返回原来的栈顶元素拿上面ABC三个元素组成的栈来说,head指针首先指向A元素,我们调用pop方法。oldTop = A;nextTop =B;CAS(&head,期望值[A],原有值[A],更新值[B])。最原创 2021-05-10 21:59:53 · 550 阅读 · 0 评论 -
Java JUC编程基本内容总结
JUC全程Java.util.current,是Java5.0提供的并发编程工具包,用于定义类似于线程的自定义子系统,包括线程池,异步 IO 和轻量级任务框架;还提供了设计用于多线程上下文中的 Collection 实现等结构1.volitale1.1 Java内存的可见性1.2 volatile关键字1.volitale1.1 Java内存的可见性Java内存可以分为主内存和线程工作内存主内存:保存了程序的所有变量。工作内存: 每个线程都有自己的独立工作内存,里面保存了该线程使用的变量的副本原创 2020-08-29 14:57:57 · 256 阅读 · 0 评论