QRunnable - 如何使用它,实例(QRunnable - how to use it, e

2019-09-16 12:44发布

可以在使用QRunnable作为替代QtConcurrent一些代码一点:我无法找到任何Qtdoc例如QRunnable。

你有没有尝试QRunnable和QtConcurrent为相同的应用程序,你可以在比较业绩有何评论?

Answer 1:

QRunnable是一个接口。 因此,而不是寻找“一个QRunnable例如”倒不如寻找(例如)“一个QThreadPool榜样”,如:

http://doc.qt.io/qt-4.8/thread-basics.html#example-1-using-the-thread-pool

如果您在页面上进一步阅读,它提到在QtConcurrent的真正价值在于,当你在做类似的应用STL算法STL容器的东西。 使用线程池QRunnable是当你只是有一堆相当不相关的任务有更好的表现。

QtConcurrent是建立在QThreadPool的顶部。 这是notationally方便,让您无需亲自编写模式,但不会本质加快您在什么你可以手工代码。 但是......在QtConcurrent模式(如MapReduce的)思维可以帮助你看到并行否则你不会想到的机会,写更少的代码意味着它更容易尝试其他方法,并比较它们的性能。



文章来源: QRunnable - how to use it, examples