在Java程序中怎么保证多线程的运行安全?
发布时间:2022-09-20 11:48:46
发布人:wjy
出现线程安全问题的原因一般都是三个原因:
1. 线程切换带来的原子性问题解决办法:使用多线程之间同步synchronized或使用锁(lock)。
2. 缓存导致的可见性问题解决办法:synchronized、volatile、LOCK,可以解决可见性问题
3. 编译优化带来的有序性问题解决办法:Happens-Before 规则可以解决有序性问题
下一篇并行和并发有什么区别?