libmysqlclient.a和libmysqlclient_r.a有什么区别?
我应该使用哪个链接mysqlclient库? 它们之间有什么区别? 我似乎无法找到答案。 谢谢。
libmysqlclient_r.a是线程安全的
较新版本的MySQL客户端发行版不包含“_r”版本。 有些可能具有从libmyqslclient_r.a到libmyqslclient.a的符号链接
libmysqlclient_r.a是“重入”。 https://en.wikipedia.org/wiki/Reentrant_%28subroutine%29但是正如Garret指出的那样,新版本没有区别(两者都是可重入的)。
libmysqlclient_r保证每个连接都是线程安全的。 但是,MySQL 5.5之前的MySQL文档对于multithreading应用程序是否可以链接到libmysqlclient是模糊的,只要在单个MySQL连接句柄上没有同时访问即可。
根据经验,我使用libmysqlclient来处理每秒处理100-400个查询并运行了5年的应用程序。 我还没有遇到任何问题。