如何在C++的嵌套循环中正确更新进度条
How a progressbar should be correctly updated within a nested loop in C++?
我使用MS Visual Studio 2010,C++,PPL库进行并行计算和Qt库。
Concurrency::parallel_for (size_t(0), m_Engines.size(), [&](size_t i)
{
for (size_t j = 1;j <= m_Iterations;j++)
{
Compute(i);//some time-cosuming thing
}
});
假设我们有 3 个独立的引擎,每个引擎都有 m_Iterations
。每个引擎的进度条如下所示:
进度 1: |
|||||||进度 2: |||||
进度 3: |||||
||||||||我希望有一个进度条(而不是上面显示的),它显示向后进度条(显示其中的最小值):
总进度: |||||
让我们假设我们有 QProgressBar * pProgressbar
,CoreApplication::processEvents()
"代码片段"。我应该如何修改代码,以便使用并发运行时技术实现内部循环的单个进度条的想法。
为了显示最短的时间,您可以在函数的侧面使用 QWaitCondition,或者您可以编写单独的函数来通知一个m_Iterations完成。假设,目前您正在执行 3 个并行计算引擎,编写 QWaitCondition 以指示其他迭代完成其工作。
相关文章:
- 从C++本机插件更新Vector3数组
- QGraphicsPolygonItem在拖动时未更新QPolygonF坐标
- cmake更新缓存的变量
- 更新到莫哈韦后出现cmath错误
- OpenMP:并行更新数组总是需要减少数组吗
- 为什么我的变量没有更新,我的 LED 没有亮起?
- 指针没有更新它在void函数内部指向的值
- 如何在c++中获取要更新的值
- 已修改的LinkedList未在文本文件本身中更新
- Qt:当QListView获得新条目时,如何更新QStringList
- 更新的矢量元素不打印
- 如何使用按钮更新GTK3图像以使用C++从相机捕获图片
- 如何在ECS框架中更新组件数据和通知系统
- 从VS 2015更新3更新到VS2015更新3 d后浮点计算行为不同的原因
- 如果我想在没有更新编译器的情况下使用新功能,该怎么办?
- 如何在 C++11 中查找和更新向量中的一个嵌套结构
- (SFML)按下键时,播放器构造函数未使用正确的动画进行更新
- 在 emscripten 网页汇编正在运行期间更新进度条?
- 在运行时使用范围更新结果
- 用非原子更新原子变量,反之亦然