c++ - 将正在运行的线程中的函数移动到新线程?

标签 c++ multithreading qt function qthread

我在类文件中有一个读写函数。该类继承QThread类并重写run,没有信号和槽,它基本上在一个线程中运行数据处理函数。在它的构造函数中是方法movetothread(this)。要使这两个函数形成一个队列并实现多线程, 我可以在写入函数中调用 movetothread(secondthread) 吗?

void write(args)
{
 movetothread(secondthread);
}

使写入函数在单独的线程上运行。 写入功能如何以及何时停止?

最佳答案

这样不行。 QObject::moveToThread对象 与另一个线程相关联,而不是调用函数。此外,这只会影响 future 的事件处理。

关于c++ - 将正在运行的线程中的函数移动到新线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5217891/

相关文章:

c++ - cmake 多个目标 - 一个仅 header 目标和另一个可执行文件

c# - 如何将同步上下文/任务调度程序替换为 TaskCompletionSource.Task 中的另一个同步上下文/任务调度程序以用于ConfigureAwait(false)?

objective-c - 从不同线程返回后在 UITableView 上设置 contentInset

qt - 从 QMainWindow 打开现有的 QMainWindow

c++ - 如何找到 QDockWidget 标题栏的高度?

android - 在 Qt Android 项目中使用 OpenCV 时的链接顺序

c++ - Visual Studio 2010 C++ - 未解析的外部符号

c++ - 从 wab (mapi) 中提取联系人和分发列表(组)

c++ - 限制模板化类数据类型

java - 这个 Java 程序能打印出一个非零值吗?