![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发
文章平均质量分 84
bh_xiaoxinba
这个作者很懒,什么都没留下…
展开
-
根据java内存模型理解并发出现的问题
原子性1、某些读写共享变量的操作如果不是原子操作,多线程并发的情况下会出现并发问题。 2、原子性实现了多个线程并发访问某段代码的时候,使这些线程能够有序访问。因为实现原子操作代码的一旦被执行,就不能被打断,其他线程想要访问的时候,只能阻塞等待。 3、java中实现原子性使用了synchronized关键字,在synchronized块之间的代码具备原子性。可见性并发问题并不只是由于原子性导致的;原创 2016-09-12 22:21:27 · 695 阅读 · 0 评论 -
java内存模型中的先行发生原则
先行发生原则前言由上一篇,我们知道并发问题的一个原因是有序性,而java中volatile和synchronized可以保证有序性; 但是在java中,并不是所有的操作都是由volatile和synchronized实现的,java中存在”先行发生“的原则。 “先行发生”原则是判断数据是否存在竞争、线程是否安全的主要依据;什么是先行发生原则?先行发生原则是指:如果说操作A先行发生于操作B,也就是原创 2016-09-12 22:33:29 · 2285 阅读 · 0 评论