これは簡単な例です。2 つのスレッドがあります。
JavaME および/ProguardobX = ...
は、thread_B が でヌル ポインター例外を持つようにステートメントを並べ替えることができますob1.someMethod
か?
スレッド_A:
Object ob1 = null;
Object ob2 = null;
...
ob1 = something1;
ob2 = something2;
スレッド_B:
if (ob2 != null) {
ob1.someMethod();
...
}
PSこれらを同期すると問題が回避されることを認識しています。同期には、パフォーマンスのオーバーヘッドがあり、さらに重要なことに、デッドロックが発生する可能性があります。