Concurrency
yeziwang9
这个作者很懒,什么都没留下…
展开
-
并发中的遍历
在开发多线程并发的程序时,对列表进行遍历是一个很常见的操作。比如说在观察者模式中,当某个事件发生时,就需要通知到对应的观察者进行事件的处理,这里就需要对观察者列表进行遍历,逐一触发观察者进行事件的处理。那么,如何保证并发中的遍历操作的原子性呢?大概有下面几种方式:1. 首先,最容易想到的肯定是使用JAVA内置的同步机制-synchronized,把整个遍历操作当作一个原子操作。s...2009-12-19 13:38:48 · 429 阅读 · 0 评论 -
Volatile语义的一些探讨
好吧,这里我只想说说volatile在JMM中的语义。 当我们在使用volatile的时候,实际上它表达了下面那么些意思。 1. 可见性。 这个是大多数人都知道的一个特质, JAVA的线程有自己的工作内存区,与主存区不同,当我们对变量使用了volatile后,那么不管对这个变量的读或写,都会在主存中进行,而不会在处理器的缓存或者寄存器中进行。这个很好理...2011-05-13 15:01:46 · 153 阅读 · 0 评论