我想在我的iPad应用中同时进行两次数据库操作。同时我想要执行两个查询:一个是更新查询,另一个是选择查询。
我尝试使用dispatch_queue
,但它无效。是否有可能同时进行这些操作?
我正在使用sqlite3数据库。
答案 0 :(得分:1)
你做不到。 sqlite3不是线程安全的。如果您需要同时从两个不同的线程(或队列)执行这些操作,则需要锁定DB句柄,以便一次只能由一个线程使用。
答案 1 :(得分:1)
您can't
和shouldn't
。即使有可能您会得到意想不到的结果,因为您无法预测您将获得旧的结果集或更新的结果集。因此,锁被分配给表以处理这种情况。所以这是不可能的。我建议优先考虑它们。
修改
根据您发布的最后一条评论,告诉您有两个控制器,左侧窗格中的一个出局,另一个进入,并且都有写入或读取操作。
您可以按照以下步骤操作:
希望它有所帮助!