这是一个简化的示例 - 我有两个线程:
JavaME 和/Proguard 是否可以对obX = ...
语句重新排序,这样 thread_B 将在 处出现空指针异常ob1.someMethod
?
线程_A:
Object ob1 = null;
Object ob2 = null;
...
ob1 = something1;
ob2 = something2;
线程_B:
if (ob2 != null) {
ob1.someMethod();
...
}
PS我确实意识到同步这些可以避免这个问题。同步既有性能开销,更重要的是有可能引入死锁。