【发布时间】:2014-11-14 18:23:30
【问题描述】:
我在一个简单的多线程应用程序中使用 libmysql,它将在单核嵌入式系统处理器上运行。 我读到here 说客户端库几乎是线程安全的。
我是否需要序列化我的应用程序(例如,使用互斥锁)?
【问题讨论】:
-
你真的应该阅读你链接的页面。它包含所有信息。
标签: c linux multithreading pthreads libmysql
我在一个简单的多线程应用程序中使用 libmysql,它将在单核嵌入式系统处理器上运行。 我读到here 说客户端库几乎是线程安全的。
我是否需要序列化我的应用程序(例如,使用互斥锁)?
【问题讨论】:
标签: c linux multithreading pthreads libmysql
取决于你在做什么。在一个简单的场景中,您只需链接到 libmysqlclient_r 并确保您不会与多个线程共享连接,也不会在单个连接上“同时”执行多个查询。
其他要求:
mysql_library_init() 来初始化MySQL 库;mysql_thread_init() 以初始化线程特定变量;mysql_thread_end()。如果您的程序遵守这些限制,那么 MySQL 就是您的朋友。
【讨论】: