数据库操作线程安全吗?

时间:2009-11-25 11:13:10

标签: iphone database cocoa-touch sqlite thread-safety

我在我的iPhone应用程序中使用sqlite。

我有一些数据库操作,我必须在两个表中插入不同的数据(意味着没有数据依赖性)。我可以在单独的线程中执行这两个操作。虽然每个表中的插入操作不止一个。所以我也在while循环中这样做。

1 个答案:

答案 0 :(得分:2)

SQLite本身可以构建为线程安全的(对于v3.3.1或更高版本,如果它是在定义了SQLITE_THREADSAFE的情况下编译的)。您可以致电sqlite_threadsafe()来验证这一点。

我建议你仔细阅读以下内容:

即使SQLite是线程安全的,您也可以重新访问您的设计。有多个线程写入数据库可能并不理想,可能需要重新设计以完全避免这一要求。