我在后台线程中有一个非常长时间运行的事务......
并且批次数可能会有所不同。
问题是:只要事务正在运行,我就无法访问数据库。我在整个应用程序中使用SQLiteOpenHelper
的单个实例访问数据库。
我尝试了yieldIfContendedSafely()
方法,但它似乎无法正常工作(或者我使用的方法不正确?)
如果我在事务运行时尝试访问数据库,它不会抛出任何异常。它就像在队列中一样坐在那里,并在交易结束时立即运行。
PS:在这种情况下访问数据库是安全的,因为事务在一个表上运行,而我正在尝试读取另一个表。