Является ли mysql_query потокобезопасным, если я инициирую одно соединение mysql на поток? - PullRequest
2 голосов
/ 28 марта 2012

я хочу знать, что это mysql_query или другая функция mysql в потоке, безопасном для C api, со следующими условиями:

  1. с использованием libmysqlclient.so, но не libmysqlclient_r.so
  2. в каждом потоке вызовите mysql_init и mysql_real_connect в рамках защиты глобального мьютекса, чтобы получить одно соединение mysql для каждого потока
  3. вызовите mysql_query или другую функцию mysql без защиты глобального мьютекса, используя собственное соединение mysql каждого потока

Этот потокобезопасен?

ну, я думаю, что это так, и из того, что я проверил, кажется, что это потокобезопасно.

но я просто не уверен.кто-нибудь может сказать мне?

Большое спасибо за вашу помощь.

1 Ответ

0 голосов
/ 02 мая 2012

Безопасность потоков - сложная проблема.В одном из моих проектов (Python) я использую одно соединение MySQL и защищаю каждый вызов с помощью блокировки.Это работает с несколькими потоками.

...