C ++ shared library providing QtConcurrent functions?

QtConcurrent is amazing.

I will let Qt docs speak for themselves:

QtConcurrent includes a functional programming API API for processing parallel lists, including a MapReduce and FilterReduce implementation for shared memory systems (unallocated) and classes for managing asynchronous computing in GUI applications.

For example, you give QtConcurrent::map()an iterative sequence and a function that accepts type elements stored in a sequence, and this function applies to all elements of the collection. This is done in a multithreaded manner, with the thread pool equal to the number of logical CPUs in the system.

There QtConcurrentare many other features, such as filter(), filteredReduced()etc. Standard functions of display / reduction of CompSci, etc.

I'm totally in love with this, but I'm starting work on an OSS project that will not use the Qt platform. This is a library, and I do not want to make others depend on such a large structure as Qt. I try to keep external dependencies to a minimum (this is a decent thing).

I am looking for a general C ++ framework that provides the same / similar high-level primitives that QtConcurrentit does and works with STL collections. AFAIK boosthas nothing of the kind (maybe I'm wrong). boost::threadvery low level compared to what I am looking for (but if the requested lib used boost::threadfor low level work, that would be great).

, # - , , Qt.

?

+3
2

Boost? , ​​ Qt, Boost (, , , - , , " ";-).

, , , Boost Vault ( ) , "" open-source ... , , ! -)

0

Source: https://habr.com/ru/post/1749753/


All Articles