0
私は同期メソッドでいくつかのデータベースクエリを書いています。理想的には、あるコードがこのコードブロック内で実行されている場合、他のスレッドはこれにアクセスすべきではありませんが、私の場合は時々そうです。同期ブロックandroid
synchronized private void func1() {
// printing some log for start
// some database code
// printing log at the end
}
したがって、最初に印刷したログは2回印刷されます。どのようにこのことをブロックするには?
なぜ同期化されたブロックにクエリを配置するのかについての具体的な理由はありますか? – dymmeh
あなたはそれが入っているクラスの複数のインスタンスでfunc1を呼び出していますか? – jqpubliq
これは同期されたブロックではなく、同期されたメソッドです 同期化されたブロックの形式は です(ロックオブジェクト){ // some code } :::それはあなたの質問にちょっと差がありませんそれを指摘する。 – ilomambo