What is difference between libmysqlclient.a and li

2019-02-22 04:53发布

Which should I use to link for mysqlclient library? What is the difference between them? I can't seem to find the answer. Thanks.

4条回答
forever°为你锁心
2楼-- · 2019-02-22 05:39

libmysqlclient_r.a is thread-safe

查看更多
看我几分像从前
3楼-- · 2019-02-22 05:44

libmysqlclient_r.a is "re-entrant". https://en.wikipedia.org/wiki/Reentrant_%28subroutine%29 But as Garret pointed out, there is no difference in newer versions (both are re-entrant).

查看更多
闹够了就滚
4楼-- · 2019-02-22 05:48

Newer versions of the MySQL client distributions do not include the "_r" version. Some may have a symbolic link from libmyqslclient_r.a to libmyqslclient.a

查看更多
贪生不怕死
5楼-- · 2019-02-22 05:56

libmysqlclient_r is guaranteed to be thread-safe per connection. However, MySQL documentations prior to MySQL 5.5 are vague on whether multi-threaded applications can link to libmysqlclient as long as there are no simultaneous access on a single MySQL connection handle.

Base on experience though, I used libmysqlclient for applications that processes 100-400 queries per second and have been running for 5 years. I've yet to encounter any issues.

查看更多
登录 后发表回答