数据库和多线程问题安卓



我正在制作一个应用程序,我需要同时有 2 个线程访问数据库。作为理想的做法,我使用单例类来处理数据库。但是,我在很多地方读到,即使在单例类中,如果两个线程尝试同时写入,其中一个线程也会失败。我应该如何解决这个问题,或者有更好的方法来解决这个问题吗?

SQLite为您执行此操作,其他线程等待当前线程插入/更新,并且有一个方法isDbLockedByCurrentThread()知道您是否锁定了数据库。我仍然建议使用同步锁来确保并避免其他死锁和竞争条件。创建一个特殊的网关类,在一个地方定义所有更新/插入方法,使这些方法synchronized

最新更新