Qt中的win32线程

时间:2011-02-13 05:46:20

标签: winapi qt

有没有办法在不使用子类化(即制作QThread类)的情况下在Qt中创建线程?将数据发送到线程变得越来越困难。是否有可能在Qt中使用win32线程,如果有人可以给我一个如何的例子?

感谢。

3 个答案:

答案 0 :(得分:4)

您不一定要将QThread子类化 - 请参阅此处的讨论http://labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/

答案 1 :(得分:1)

或者,如果您有许多简单的任务,并希望以线程方式处理它们。 QRunnableQThreadPool提供了一种快速简便的方法,无需处理线程本身。

答案 2 :(得分:0)

如果你只想在另一个线程中运行一个函数,你应该检查QT Concurrent Namespace.

以下示例将在单独的线程中运行函数'aFunction()',并且不会在调用函数的行上阻塞。当然,有一些机制可以理解函数何时结束,以获得结果,等待它。

void aFunction(int arg1, double arg2, const QString &string);

int integer = ...;
double floatingPoint = ...;
QString string = ...;

QtConcurrent::run(aFunction, integer, floatingPoint, string);