这个问题似乎与我读过的许多问题非常相似,但话又说回来,我没有找到任何能让我满意的代码。(或者我太困了,没有意识到这一点)
我有一个单例数据库助手来确保其中只有一个存在。问题不在这里。在尝试确保仅存在一个数据库连接同时仍在使用getReadableDatabase
和getWritableDatabse
方法时遇到问题。
我知道它在大多数情况下返回相同的引用,我可以处理它的使用,但我不知道如果我打开了只读连接(可能内存不足)并且另一个线程想要打开一个可写连接。我想阻止写入线程,直到只读连接关闭,然后尝试打开可写连接。
你是怎样做的?这可能只能在 Java 中通过一些线程锁定来完成,但不确定应该使用哪些方法。
PS如果我遗漏了什么 - 请随时告诉我应该如何以另一种方式完成。