I know that OpenMP is a library that allows one to write multi-threaded applications.
However, I used to use pthread to build thread pools.
I came across someone else's code which uses OpenMP; is it necessary and in which cases is it better than a normal thread pool?