2011-03-01 73 views
0

我有两个线程在我的iPhone应用程序中运行,他们将访问数据库。 我正在使用下面的代码行来打开数据库,并做插入,选择,删除等(我想要什么)。iphone - 从两个线程同时访问sqlite3数据库

if(sqlite3_open([dataBasePath UTF8String], &database) == SQLITE_OK) 

它的工作正常。但我不确定访问数据库是否是线程安全的。有没有在任何时间崩溃的机会?如果两个线程都尝试同时访问数据库,会发生什么情况?

有人可以建议我一个从两个线程同时访问数据库的好方法吗?

+0

这是线程安全的(除非你编译它毁灭,这是希望不常有)提供的线程使用不同的数据库句柄。您还必须处理SQLITE_BUSY,如果您拥有对数据库的独占访问权限,则不会发生这种情况。 – 2011-06-29 23:31:48

回答

相关问题