第25章:API和库 / 25.2. MySQL C API / 25.2.11. C API线程函数介绍
25.2.11.1. my_init()
25.2.11.2. mysql_thread_init()
25.2.11.3. mysql_thread_end()
25.2.11.4. mysql_thread_safe()

当你打算创建线程客户端时,需要使用下述函数。请参见25.2.15节,“如何生成线程式客户端”

25.2.11.1. my_init()

void my_init(void)

描述

调用任何MySQL函数之前,需要在程序中调用该函数。它将初始化MySQL所需的某些全局变量。如果你正在使用线程安全客户端库,它还能为该线程调用mysql_thread_init()

通过mysql_init()mysql_library_init()mysql_server_init()mysql_connect(),可自动调用该函数。

返回值

无。

25.2.11.2. mysql_thread_init()

my_bool mysql_thread_init(void)

描述

对于每个创建的线程,需要调用该函数来初始化与线程相关的变量。

它可由my_init()mysql_connect()自动调用。

返回值

如果成功,返回0,如果出现错误,返回非0值。

25.2.11.3. mysql_thread_end()

void mysql_thread_end(void)

描述

调用pthread_exit()来释放mysql_thread_init()分配的内存之前,需要调用该函数。

注意,该函数不会被客户端库自动调用。必须明确调用它以避免内存泄漏。

返回值

无。

25.2.11.4. mysql_thread_safe()

unsigned int mysql_thread_safe(void)

描述

该函数指明了客户端是否编译为线程安全的。

返回值

如果客户端是线程安全的,返回1,否则返回0