2009-11-25 35 views
0

我在我的iPhone应用程序中使用sqlite。我有一些数据库操作,其中我必须插入两个表中不同的数据(意味着没有数据依赖性)。我可以在单独的线程中执行这两个操作吗?而每个表中的插入操作不止一个。所以我也在做一个while循环。数据库操作是否线程安全?

回答

2

SQLite本身可以构建为线程安全的(对于v3.3.1或更高版本,如果编译时定义了SQLITE_THREADSAFE)。您可以通过致电sqlite_threadsafe()来验证。

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

即使SQLite是线程安全的,您不妨重新设计。让多个线程写入数据库可能并不理想,可能需要重新设计才能完全避免这种需求。