ultimatepp/reference/CoWorkCoDo/CoWorkLoop.cpp
cxl 58d2bd8a9e .reference
git-svn-id: svn://ultimatepp.org/upp/trunk@14413 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2020-05-01 08:36:01 +00:00

30 lines
519 B
C++

#include <Core/Core.h>
using namespace Upp;
CONSOLE_APP_MAIN
{
SeedRandom(0);
Vector<String> data;
for(int i = 0; i < 1000; i++) {
int n = Random(7);
data.Add();
for(int j = 0; j < n; j++)
data.Top() << Random() << ' ';
}
double sum = 0;
std::atomic<int> ii(0);
CoDo([&] {
double m = 0;
for(int i = ii++; i < data.GetCount(); i = ii++) {
CParser p(data[i]);
while(!p.IsEof())
m += p.ReadDouble();
}
CoWork::FinLock();
sum += m;
});
RDUMP(sum);
}