在这里的文档:
http://www.sqlite.org/threadsafe.html
http://www.sqlite.org/threadsafe.html
对于序列化模式,它说:
“在序列化模式下,SQLite可以被多个线程安全地使用,没有任何限制.”
我想确保我理解那里提供的保证.如果使用“SQLITE_OPEN_FULLMUTEX”标志打开单个数据库连接,并且两个线程同时尝试在同一时刻调用sqlite3_exec,Sqlite会自动序列化调用吗?
答案是肯定的. sqlite3_exec()将在输入函数时获取互斥锁,并在函数离开后释放互斥体.在任何给定时间只有一个线程可以拥有互斥锁,因此在任何给定时间只有一个线程可以执行sqlite3_exec().如果两个线程同时尝试执行sqlite3_exec(),则会等待另一个.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。