-1
我使用MS Visual Studio 2010中,C++,PPL庫用於並行計算和Qt庫。怎樣一個進度應該在C++嵌套循環中正確地更新?
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()
「代碼片段」。我應該如何修改代碼,以便使用併發運行時技術來實現內循環的單個進度欄。
爲什麼要顯示最小值而不是3的平均值? –
我想知道100%的進度意味着所有任務已經完成 – ilya
在這種情況下,您可能需要一個從0到m_Iterations * 3的進度條,並顯示所有引擎完成的迭代總和。 – Vlad