Sqlite参考手册
C界面 | C Interface
Test To See If The Library Is Threadsafe
int sqlite3_threadsafe(void);
当且仅当由于SQLITE_THREADSAFE编译时选项被设置为0而忽略了忽略代码才编译SQLite时,sqlite3_threadsaf()函数返回零。
可以使用或不使用互斥锁来编译SQLite。当SQLITE_THREADSAFE C预处理器宏为1或2时,启用互斥锁并且SQLite是线程安全的。当SQLITE_THREADSAFE宏为0时,互斥体被省略。没有互斥锁,从多个线程同时使用SQLite是不安全的。
启用互斥体会导致可衡量的性能损失。所以如果速度是最重要的,那么禁用互斥体就有意义了。但为了最大限度的安全,应该启用互斥锁。默认行为是为了启用互斥锁。
应用程序可以使用此接口来确保它所链接的SQLite版本是使用所需的SQLITE_THREADSAFE宏设置编译的。
此接口仅报告SQLITE_THREADSAFE标志的编译时互斥设置。如果SQLite是与SQLITE_THREADSAFE编译= 1或= 2则互斥默认启用但可以使用一个呼叫到sqlite3_config()与动词SQLITE_CONFIG_SINGLETHREAD,SQLITE_CONFIG_MULTITHREAD,或SQLITE_CONFIG_SERIALIZED是完全或部分关闭。sqlite3_threadsafe()函数的返回值仅显示线程安全性的编译时设置,而不是sqlite3_config()对该设置的任何运行时更改。换句话说,sqlite3_threadsafe()的返回值不会因调用sqlite3_config()而改变。
有关其他信息,请参阅线程模式文档。
C界面 | C Interface相关
SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来
主页 | https://sqlite.org/ |
源码 | https://www.sqlite.org/src/ |
发布版本 | 3.21.0 |