我在一个简单的多线程应用程序中使用libmysql,它将运行在单核嵌入式系统处理器上。 我读到here客户端库几乎线程安全。
我是否需要序列化我的应用程序(例如,使用互斥锁)?
答案 0 :(得分:3)
取决于您正在做什么。在一个简单的场景中,您只需链接libmysqlclient_r
,并确保您不与多个线程共享连接,也不会同时执行多个查询"在一个连接上。
其他要求:
mysql_library_init()
初始化MySQL库; mysql_thread_init()
之前,在使用任何与MySQL相关的函数之前初始化特定于线程的变量; mysql_thread_end()
。如果您的程序遵守这些限制,MySQL就是您的朋友。