我正在寻找一种将对象从后台线程传递到 UI 线程的安全方法。下面的代码安全吗?
// on background thread
final HugeObject object = constructHugeObjectFromDatabaseAndNetwork();
uiThreadHandler.post(new Runnable() {
public void run() { doSomethingWithObject(object); }
});
即,JMM 规则是否允许在 doSomethingWithObject 调用期间实际上部分构造对象?此外,JMM 与 Android 及其虚拟机的相关性如何?