专业的JAVA编程教程与资源

网站首页 > java教程 正文

并发编程三要素是什么?在 Java 程序中怎么保证多线程的运行安全?

temp10 2025-03-19 02:29:14 java教程 15 ℃ 0 评论

并发编程三要素(线程的安全性问题体现在):

1.原子性:原子,即一个不可再被分割的颗粒。原子性指的是一个或多个操作要么全部执行成功要么全部执行失败。

并发编程三要素是什么?在 Java 程序中怎么保证多线程的运行安全?

2.可见性:一个线程对共享变量的修改,另一个线程能够立刻看到。(synchronized,volatile)

3.有序性:程序执行的顺序按照代码的先后顺序执行。(处理器可能会对指令进行重排序)

--------------------------------------------

出现线程安全问题的原因:

    • 线程切换带来的原子性问题
    • 缓存导致的可见性问题
    • 编译优化带来的有序性问题

解决办法:

    • JDK Atomic开头的原子类、synchronized、LOCK,可以解决原子性问题
    • synchronized、volatile、LOCK,可以解决可见性问题
    • Happens-Before 规则可以解决有序性问题

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表