libmysqlclient.a和libmysqlclient_r.a有什么区别?

时间:2010-12-20 03:09:39

标签: c++ c libmysql mysql

我应该使用哪个链接mysqlclient库?他们之间有什么区别?我似乎无法找到答案。感谢。

4 个答案:

答案 0 :(得分:9)

较新版本的MySQL客户端发行版不包含“_r”版本。有些可能有libmyqslclient_r.a到libmyqslclient.a的符号链接

答案 1 :(得分:5)

libmysqlclient_r.a是线程安全的

答案 2 :(得分:4)

libmysqlclient_r.a是“重入”。 https://en.wikipedia.org/wiki/Reentrant_%28subroutine%29但正如加勒特指出的那样,新版本没有区别(两者都是可重入的)。

答案 3 :(得分:3)

libmysqlclient_r保证每个连接都是线程安全的。但是,MySQL 5.5之前的MySQL文档对于多线程应用程序是否可以链接到libmysqlclient是模糊的,只要在单个MySQL连接句柄上没有同时访问。

基于经验,我使用libmysqlclient来处理每秒处理100-400个查询并运行了5年的应用程序。我还没有遇到任何问题。