Platform Independent Parallel Programming Libraries for C ++

I am familiar with concurrent programming in Java, which provides many tools for this. However, concurrent programming in C ++ is not so easy to start using.

What is the best way to start programming in C ++? Are there any beautiful libraries that combine parallel software primitives and provide you with higher level constructs?

I tried QtConcurrent , which provides you with nice MapReduce functionality, but it is very biased towards parallel computing using Qt, so it is not good if you do not want to use Qt.

Are there any other similar libraries? What are people using here?

Thanks for your help in advance, snow

+3
source share
5 answers

The Morendil suggestion (CSP - communicating sequential processes) is really interesting to look at - this is a completely different view of threads and one that works well when you hug it around. I first came across it in Occam's rather esoteric language for transporters, but the idea stuck with me.

: boost:: threads . .

OpenMP , , .

+4

CSP, C++. Java threading.

+3

, , .

+2

Intel Threading Building Blocks is great for implementing concurrency at the individual parallel data level, and it takes care of thread control and work distribution automatically. It can be used in the same way for OpenMP, but without the need for explicit compiler support.

+1
source

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


All Articles