多线程不安全的底层原因以及两种加锁方式的区别

如何保证多线程的安全运行 1.线程的安全性问题体现在: 原子性:一个或者多个操作在 CPU 执行的过程中不被中断的特性 可见性:一个线程对共享变量的修改,另外一个线程能够立刻看到 有序性:程序执行的顺序按照代码的先后顺序执行 2.导致原因: 缓存导致的可见性问题 线程切换带来的原子性问题 编译优化带来的有序性问题 3.解决办法: JDK Atomic 开头的原子类、synchronized、Loc
相关文章
相关标签/搜索