47 . 在 java 程序中怎么保证多线程的运行安全?

线程的安全性问题体现在:
原子性:一个或者多个操作在 CPU 执行的过程中不被中断的特性
可见性:一个线程对共享变量的修改,另外一个线程能够立刻看到
有序性:程序执行的顺序按照代码的先后顺序执行

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


最后附上面试题汇总及答案(持续更新中

上一篇:系统集成项目管理工程师10大管理47个过程域输入输出工具(项目干系人管理)


下一篇:noip模拟47