![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JUC
文章平均质量分 94
JUC知识学习
weixin_47236538
这个作者很懒,什么都没留下…
展开
-
Java面试题(JVM、并发)
02 对于volitale的理解volitale是JVM提供的轻量级同步机制:保证可见性不保证原子性禁止指令重排序CAS底层原理cas的底层调用了很多Unsafe类native方法public class AtomicInteger extends Number implements java.io.Serializable { private static final long serialVersionUID = 6214790243416807050L; // se转载 2022-01-03 19:33:56 · 92 阅读 · 0 评论 -
Java并发之synchronized关键字
synchronized关键字是Java并发编程中常用的同步手段之一,在之前我们可能觉得synchronized所加的锁过于繁重,但是经过JDK的优化,synchronized关键字在开发中使用场景逐渐增加。作用:1 互斥性:确保线程互斥的访问同步代码,锁会自动释放,多个线程操作同一个代码块必须排队等待获取锁2 可见性: 保证共享变量的修改能够及时对于其他线程可见,获取锁的线程操作完成后悔将数据刷新到共享内存区3 有序性: 不解决代码的重排序问题,但是可以保证代码执行的有序性synchroni.转载 2021-12-20 19:47:15 · 107 阅读 · 0 评论 -
ThreadLocal详解
在JDK官方文档中描述:ThreadLocal类用来提供线程内部等局部变量,这种变量在多线程环境下访问时能够保证多个线程的变量相对独立于其他线程内的变量,ThreadLocal实例通常设置为private static类型,用于关联线程的上下文。作用:提供线程内部的局部变量,不同线程之间不会相互干扰,该变量是在线程的生命周期内起作用,可以减少同一个线程内多个函数或者组件之间传递公共变量的复杂度,简单来说就是每个线程持有一份当前变量的副本,各个线程之间的副本互不干扰,是典型的用空间换区安全性的做法。1 线转载 2021-12-20 15:44:01 · 128 阅读 · 0 评论