MySQL C API:从其他线程运行查询时出现分段错误

东西

我有一个C ++程序,该程序初始化MySQL数据库,然后用线程加载GUI,该线程一次访问数据库。

当我mysql_query()从主线程调用该函数时,它可以正常工作,但是当我从新线程调用该函数时,它会在分段错误时崩溃。

这段代码工作正常(在主线程中调用了MySQL函数):

updateQueryEngines();

这段代码崩溃了(在不同的线程中调用了MySQL函数):

std::thread *my_thread = new std::thread(&MainWindow::updateQueryEngines, this);

任何的想法?

东西

好的,我有一个答案,我认为将其发布在这里很重要,这样其他人就不会像我一样花一整天的时间。

当您启动一个访问MySQL C API的新线程时,只需在该线程内调用API函数即可mysql_thread_init()这将解决分段错误问题:

void MainWindow::updateQueryEngines() {
    mysql_thread_init();

    ... rest of the code...
}

现在,我可以在新线程中调用此函数,而不会遇到分段错误:

std::thread *my_thread = new std::thread(&MainWindow::updateQueryEngines, this);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MySQL C API:从其他线程运行查询时出现分段错误

来自分类Dev

为同一个向量 C++ 运行多个线程时出现分段错误

来自分类Dev

运行联接查询时出现mysql错误

来自分类Dev

运行mysql查询时出现1093错误

来自分类Dev

运行我的随机ID生成时出现C ++分段错误

来自分类Dev

运行UPDATE查询时出现MySQL错误1064(42000)

来自分类Dev

C中的分段错误导致代码有时运行,但其他时间未运行

来自分类Dev

exe C时出现分段错误错误

来自分类Dev

调用c函数时出现分段错误

来自分类Dev

写入文件时出现C分段错误

来自分类Dev

从向量擦除时出现C ++分段错误

来自分类Dev

C - 使用 strlen 时出现分段错误?

来自分类Dev

创建树时出现分段错误 (C)

来自分类Dev

运行 SQL Server 查询时出现 C# 异常错误

来自分类Dev

使用Python C API两次调用C函数时出现分段错误

来自分类Dev

使用mingw编译mysql2时出现分段错误

来自分类Dev

mysql c api mysql 查询功能不起作用

来自分类Dev

C#Mysql多个查询

来自分类Dev

C ++中的动态mysql查询

来自分类Dev

在C ++中操作向量时出现分段错误

来自分类Dev

传递多维数组时出现分段错误,C ++

来自分类Dev

从C ++中的文件加载数据时出现分段错误

来自分类Dev

在C中实现反向功能时出现分段错误

来自分类Dev

链接c ++和汇编时出现分段错误

来自分类Dev

尝试克隆函数时出现分段错误(在C中)

来自分类Dev

在C中初始化数组时出现分段错误

来自分类Dev

c-打开文件时出现分段错误

来自分类Dev

尝试引用指针时出现分段错误:C

来自分类Dev

使用链表中的指针结构时出现C分段错误