私はこのことについて非常に興味があります。SDK メソッドを呼び出す同期ブロックにコードが
ありますが、ハングします。
synchronized(someObject) {
someSDKobj.someMethd();
}
非同期ブロックから同じ呼び出しを行うと、正しく実行されます。
//synchronized(someObject)
{
someSDKobj.someMethd();
}
ハングする理由の 1 つは、sdk メソッドが別のスレッドで、同じ「someObject」で同期する別のメソッドを呼び出す場合ですが、そうではありません。
他に何がこの奇妙な現象を引き起こす可能性がありますか? 呼び出されたメソッドが同期ブロックから呼び出されたという事実によって影響を受けるのはなぜですか? 問題があれば、これは Java-ME で実行されています。