【发布时间】:2011-05-05 05:42:18
【问题描述】:
我有一个允许用户查询 sqlite 数据库的应用程序。当应用程序启动时,它会下载一个 URL,以查看后台线程上是否有任何数据库更新。
不幸的是,如果用户选择了一个在更新运行时尝试查询数据库的函数,这会导致发生锁定。
我的问题是双重的。
-
在这种情况下避免冲突的最佳策略是什么。
- 将数据库复制到另一个文件更新并复制回来
- 拥有某种单例操作并使用它来调度队列中的操作。
- 循环并等待锁打开(虽然我不想阻止用户)
是否可以在应用程序终止之前暂停后台线程并在应用程序终止之前运行更新。
如果有人有任何建议,我将不胜感激,因为我需要运行更新,而用户无需停止使用该应用程序。
【问题讨论】:
-
我最近一直在路上,所以仍在努力......
标签: iphone sqlite background-process