Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C libmysql的多线程编程_C_Linux_Multithreading_Pthreads_Libmysql - Fatal编程技术网

C libmysql的多线程编程

C libmysql的多线程编程,c,linux,multithreading,pthreads,libmysql,C,Linux,Multithreading,Pthreads,Libmysql,我在一个简单的多线程应用程序中使用libmysql,该应用程序将在单核嵌入式系统处理器上运行。 我读到客户端库几乎是线程安全的 我是否需要序列化我的应用程序(比如说,使用互斥锁)?取决于你在做什么。在一个简单的场景中,您只需链接到libmysqlclient\r,并确保您不会与多个线程共享一个连接,也不会在单个连接上“同时”执行多个查询 其他要求: 在创建任何线程之前,调用mysql\u library\u init()初始化mysql库 在使用任何mysql相关函数之前,在每次线程调用mysq

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


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

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

其他要求:

  • 在创建任何线程之前,调用
    mysql\u library\u init()
    初始化mysql库
  • 在使用任何mysql相关函数之前,在每次线程调用
    mysql\u thread\u init()
    时初始化特定于线程的变量
  • 销毁线程之前,请调用mysql\u thread\u end()

  • 如果你的程序尊重这些限制,MySQL就是你的朋友。

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

    其他要求:

  • 在创建任何线程之前,调用
    mysql\u library\u init()
    初始化mysql库
  • 在使用任何mysql相关函数之前,在每次线程调用
    mysql\u thread\u init()
    时初始化特定于线程的变量
  • 销毁线程之前,请调用mysql\u thread\u end()

  • 如果你的程序尊重这些限制,MySQL就是你的朋友。

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

    其他要求:

  • 在创建任何线程之前,调用
    mysql\u library\u init()
    初始化mysql库
  • 在使用任何mysql相关函数之前,在每次线程调用
    mysql\u thread\u init()
    时初始化特定于线程的变量
  • 销毁线程之前,请调用mysql\u thread\u end()

  • 如果你的程序尊重这些限制,MySQL就是你的朋友。

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

    其他要求:

  • 在创建任何线程之前,调用
    mysql\u library\u init()
    初始化mysql库
  • 在使用任何mysql相关函数之前,在每次线程调用
    mysql\u thread\u init()
    时初始化特定于线程的变量
  • 销毁线程之前,请调用mysql\u thread\u end()

  • 如果您的程序尊重这些限制,MySQL就是您的朋友。

    您应该真正阅读您链接的页面。它有所有的信息。你应该真正阅读你链接的页面。它有所有的信息。你应该真正阅读你链接的页面。它有所有的信息。你应该真正阅读你链接的页面。它有所有的信息。