【发布时间】:2011-09-23 13:55:45
【问题描述】:
在java的Observer模式类Observer和Observable中,是对Observable对象的notifyObservers(Object arg0)的调用,在不同的线程中,线程-安全吗?
示例: 我有多个线程,所有 Observables,它们会经常调用 notifyObservers(...)。所有这些线程都向单个 Observer 对象报告。
我会遇到并发问题吗?有什么更好的方法来解决这个问题? 我知道使用事件侦听器的可能解决方案。但是我不确定如何实现它,而且如果可能的话,我想坚持观察者模式的实现。
【问题讨论】:
-
谢谢,我没有看到,但是它似乎没有回答这个问题,也没有给出任何提示如何找出答案。这是针对普通 Java 实现的。
-
尝试反编译您正在使用的 java 发行版中的 Observable 对象。
-
@Angel ;我确实这样做了,没有提到同步或线程安全。
-
好吧,如果方法不是“同步”的,应该显示在 java doc 中,它就不能是真正的线程安全的。
标签: java thread-safety observer-pattern