【发布时间】:2022-05-11 15:26:04
【问题描述】:
在我的应用程序中,存在多个进程,并且在每个进程中,我需要访问同一个 SQLite 数据库(当然,这意味着超过 2 个线程),所以我担心的不仅仅是线程安全SQLite,还有过程安全。
这种情况的一个解决方案是using content-provider。但来自 android sdk,it warns that its methods may be called from multiple threads and therefore must be thread-safe。如果内容提供者本身不一定意味着线程安全,我怎么能假设它是进程安全的?
article 还阐明了 SQLiteDatabase 本身默认是同步的,从而保证不会有两个线程同时接触它。如果在多进程情况下怎么办?两个进程可以同时修改同一张表吗?会崩溃吗?
【问题讨论】:
-
不,他们不能。你会得到 SQLiteDatabaseLockedException
-
@mianlaoshu 你找到解决这个问题的办法了吗?