【问题标题】:Multithreaded programming with libmysql使用 libmysql 进行多线程编程
【发布时间】:2014-11-14 18:23:30
【问题描述】:

我在一个简单的多线程应用程序中使用 libmysql,它将在单核嵌入式系统处理器上运行。 我读到here 说客户端库几乎是线程安全的。

我是否需要序列化我的应用程序(例如,使用互斥锁)?

【问题讨论】:

  • 你真的应该阅读你链接的页面。它包含所有信息。

标签: c linux multithreading pthreads libmysql


【解决方案1】:

取决于你在做什么。在一个简单的场景中,您只需链接到 libmysqlclient_r 并确保您不会与多个线程共享连接,也不会在单个连接上“同时”执行多个查询。

其他要求:

  1. 在创建任何线程之前,调用mysql_library_init() 来初始化MySQL 库;
  2. 在使用任何 MySQL 相关函数之前,在每个线程调用 mysql_thread_init() 以初始化线程特定变量;
  3. 在销毁线程之前,调用mysql_thread_end()

如果您的程序遵守这些限制,那么 MySQL 就是您的朋友。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-26
    • 1970-01-01
    • 2016-08-22
    • 1970-01-01
    相关资源
    最近更新 更多