Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site











SourceForge.net Logo

ParallelProgress

 

CoDo Parallel loop with progress indicator

 

 

main.cpp

 

#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();

        }

    });

}

 

 

 

 

Do you want to contribute?