でダウンローダーの作成に取り組んでいますAndroid
。データベースを複数のアクティビティで共有できるようにするために、WritableDatabase
.
一部のコンテンツをダウンロードする各スレッドは、ダウンロードされたデータの合計量をデータベースに書き込む必要があります。synchronized
複数のスレッドがこのインスタンスにアクセスするため、データベースに値を入力する際にコード ブロック を使用する必要がありますか?
でダウンローダーの作成に取り組んでいますAndroid
。データベースを複数のアクティビティで共有できるようにするために、WritableDatabase
.
一部のコンテンツをダウンロードする各スレッドは、ダウンロードされたデータの合計量をデータベースに書き込む必要があります。synchronized
複数のスレッドがこのインスタンスにアクセスするため、データベースに値を入力する際にコード ブロック を使用する必要がありますか?
複数のスレッドから安全に使用できSQLiteDatabase
ますが、デフォルトでは各操作が他の操作をブロックします。同時更新を有効にするには、 を使用しますenableWriteAheadLogging
。http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#enableWriteAheadLogging()で詳細を読む
複数のスレッドがデータベースから読み取っている場合は問題ありませんが、書き込みを試みている場合は、同期ブロックを使用してスレッドセーフな操作を許可する必要があります。