clayborg added a comment.

Any std::async adoption will need to be able to deliver tasks as they complete 
via "TaskRunner<T>::WaitForNextCompletedTask()".

We had a previous example where 1000 items could be pushed onto a std::vector 
of tasks and then the code was doing:

  for (i=0; i<tasks.size(); ++i)
      tasks[i].wait();

This means that if the first of 1000 jobs took 100 seconds, but the other 999 
took 0.1 seconds each, then it would stall the pipeline waiting for the first 
one to complete. I want to make sure we can do:

  while (auto future = task_runner. WaitForNextCompletedTask())
  {
  }

So we can process the items as needed as they complete. So as long as we can 
still do this with the implementation we use I will be happy.


http://reviews.llvm.org/D13727



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to