OpenMP takes full responsibility for scheduling work from the hands of a programmer. There is no explicit support for job theft or any other scheduling policy to indicate how loop iterations should be shared between processors.
However, the OpenMP implementation can be used to steal work. This approach will be fully suitable for the explicit task construct supported by OpenMP. Similarly, an implementation may choose a different planning approach.
I read that the gcc implementation uses theft of work, but this is not what I learned, and I could be wrong.
source share