From e48dd8ea04d165042f313ec01233221e8bbbee9d Mon Sep 17 00:00:00 2001 From: cxl Date: Thu, 9 Apr 2020 11:59:57 +0000 Subject: [PATCH] .reference git-svn-id: svn://ultimatepp.org/upp/trunk@14284 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- .../ParallelProgress/ParallelProgress.upp | 11 +++++++++++ reference/ParallelProgress/main.cpp | 19 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 reference/ParallelProgress/ParallelProgress.upp create mode 100644 reference/ParallelProgress/main.cpp diff --git a/reference/ParallelProgress/ParallelProgress.upp b/reference/ParallelProgress/ParallelProgress.upp new file mode 100644 index 000000000..cfa437226 --- /dev/null +++ b/reference/ParallelProgress/ParallelProgress.upp @@ -0,0 +1,11 @@ +description "CoDo Parallel loop with progress indicator\377"; + +uses + CtrlLib; + +file + main.cpp; + +mainconfig + "" = "GUI"; + diff --git a/reference/ParallelProgress/main.cpp b/reference/ParallelProgress/main.cpp new file mode 100644 index 000000000..46e285119 --- /dev/null +++ b/reference/ParallelProgress/main.cpp @@ -0,0 +1,19 @@ +#include + +using namespace Upp; + +GUI_APP_MAIN +{ + Progress pi("Working on many items at once...", 100); + std::atomic 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(); + } + }); +}