ultimatepp/reference/ParallelProgress/main.cpp
cxl e48dd8ea04 .reference
git-svn-id: svn://ultimatepp.org/upp/trunk@14284 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2020-04-09 11:59:57 +00:00

19 lines
390 B
C++

#include <CtrlLib/CtrlLib.h>
using namespace Upp;
GUI_APP_MAIN
{
Progress pi("Working on many items at once...", 100);
std::atomic<int> ii(0);
CoDo([&] {
for(int i = ii++; i < 100; i = ii++) {
for(int q = 0; q < 1000; q++) {
if(pi.Canceled()) // ideally call canceled every 1-10ms
return;
Sleep(1); // work simulation
}
pi.Step();
}
});
}