mercredi 23 septembre 2015

C++ library for task-based paralellism / work queues (similar to Apple's GCD)?

I really love Apple's Grand Central Dispatch (libdispatch) library. Its simple, elegant and minimalistic.

In C++11 there is std::async / std::thread but its not cool to spawn a thread each time I'd like to schedule a unit of work (lambda or functor object) Requirements are:

  • It has pool of threads
  • There is work queue that can schedule & execute units of work
  • Barriers
  • Non blocking nested execution ( 1st lambda schedules 2nd lambda once 1st is complete)

Is there any portable library on top of C++11 ?

Aucun commentaire:

Enregistrer un commentaire