AM
Size: a a a
AM
AM
m
when_all.VK
when_all.VK
m
makeTaskSequence делает именно это, нет?VK
makeTaskSequence делает именно это, нет?VK
VK
m
VK
m
VK
m
void run(tasks) {
std::queue queue(tasks);
while (!queue.empty()) {
t = queue.pop_front();
t.resume();
if (!t.done)
queue.push_back(t);
}
}
То есть он просто в цикле исполняет таски. Если таска заблокировалась, кладем ее в конец очереди и берем следующую таску.GN
VK
void run(tasks) {
std::queue queue(tasks);
while (!queue.empty()) {
t = queue.pop_front();
t.resume();
if (!t.done)
queue.push_back(t);
}
}
То есть он просто в цикле исполняет таски. Если таска заблокировалась, кладем ее в конец очереди и берем следующую таску.VK
m
when_all не ковырял. Но по описанию и своему опыту я бы сказал что должно быть реализовано примерно так как я описал выше.VK
m
void run(tasks) {
std::queue queue(tasks);
while (!queue.empty()) {
t = queue.pop_front();
t.resume();
if (!t.done)
queue.push_back(t);
}
}
То есть он просто в цикле исполняет таски. Если таска заблокировалась, кладем ее в конец очереди и берем следующую таску.