Android 中的 java.util.Observable 是线程安全的吗?这文档 http://developer.android.com/reference/java/util/Observable.html说只有deleteObserver()和deleteObservers()是同步方法。 addObserver()、set/clear/hasChanged() 怎么样?我可以从不同的线程安全地调用 addObserver() 而不锁定 Observable 对象吗?
AFAIK,Android 基于 Apache Harmony。我在这里找到了 Harmony 的 Observable 实现的源代码:http://www.java2s.com/Open-Source/Java-Document/Apache-Harmony-Java-SE/java-package/java/util/Observable.java.htm http://www.java2s.com/Open-Source/Java-Document/Apache-Harmony-Java-SE/java-package/java/util/Observable.java.htm.
在我看来,他们试图使其线程安全,但失败了:他们忘记同步 countObservers 方法以及 set/has/clearChanged 方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)