1

我正在制作一个下载器Android。为了允许在多个活动之间共享数据库,我创建了WritableDatabase.

下载某些内容的每个线程需要将总共下载多少数据写入数据库。由于多个线程将访问此实例,因此synchronized在将值输入数据库时​​是否需要使用代码块?

4

2 回答 2

3

从多个线程中使用是安全的SQLiteDatabase,但默认情况下,每个操作都会阻塞其他操作。要启用并发更新,请使用enableWriteAheadLogging. 阅读更多http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#enableWriteAheadLogging()

于 2013-08-15T02:55:12.190 回答
1

就像 Readers/Writers 问题一样,当多个线程从数据库中读取时没有问题,但是当它们尝试写入时,您必须使用同步块来允许线程安全操作。

于 2013-08-15T03:20:16.427 回答