【发布时间】:2016-08-31 13:16:35
【问题描述】:
我有两个连接到同一个信号的 Qt 插槽。
我必须在不显式使用 Qt 多线程的情况下并行运行它们。
我搜索了 Qt 是否提供了隐含的解决方案,但我没有找到。
在 Qt 中有什么解决方案吗?
【问题讨论】:
-
不。并行 = 多线程。如果你没有多线程,那么你就不能并行处理。
-
投票决定关闭,因为不清楚。并行运行它们而不并行运行它们?此外,即使 with 线程,您也不能保证它们实际上是并行运行的。如果您使用的是单线程 CPU,或者操作系统只为您的程序分配一个内核,该怎么办?
-
@MSalters:你可以写一个完整的答案,我会打勾并点赞。许多 Qt 用户可能会遇到这个问题。
-
如上所述,如果没有多线程,您将无法并行运行任何东西。如果“不使用多线程”是指“每个插槽在单独的线程中,但不使用和继承 QThread”,那么有一个非常简单的解决方案
-
@BeardedBeaver:是的,这就是我想要的。我重新编辑了这个问题
标签: c++ multithreading visual-studio qt