Qual è la differenza tra libmysqlclient.a e libmysqlclient_r.a?
Domanda
Quale devo usare per collegamento per la libreria mysqlclient? Qual'è la differenza tra loro? Io non riesco a trovare la risposta. Grazie.
Soluzione
libmysqlclient_r.a è thread-safe
Altri suggerimenti
Le versioni più recenti delle distribuzioni client MySQL non include la versione "_R". Alcuni possono avere un link simbolico da libmyqslclient_r.a a libmyqslclient.a
libmysqlclient_r.a è "rientrante". https://en.wikipedia.org/wiki/Reentrant_%28subroutine%29 Ma, come Garret ha sottolineato, non c'è alcuna differenza nelle versioni più recenti (entrambi sono rientrante).
libmysqlclient_r è garantito per essere thread-safe per ogni connessione. Tuttavia, MySQL documentazioni prima di MySQL 5.5 sono precisione se applicazioni multi-threaded possono collegarsi libmysqlclient finché ci sono nessun accesso simultaneo su una singola maniglia connessione MySQL.
Base sull'esperienza, però, ho usato libmysqlclient per applicazioni che elabora 100-400 query al secondo e sono stati in esecuzione per 5 anni. Devo ancora incontrare problemi.