并行循环的执行由线程完成。启动程序的初始执行的线程称为主线程。主线程遇到并行循环时,就会创建由其自身及多个从属线程组成的线程组。循环迭代会分成块,而块会分布在线程组中的线程之间。在一个线程完成其块的执行时,将与该线程组的剩余线程保持同步。这种同步称为屏障。直到所有从属线程都已完成它在并行循环中的工作并到达屏障,主线程才能继续执行程序的剩余部分。在屏障结束时,主线程会继续以串行方式执行程序,直到遇到其他并行循环。
在此期间,会发生多种开销,例如与以下各项相关的开销:
线程创建
工作分配
屏障同步
对于某些并行循环,执行的有用工作量不足以证明开销。对于此类循环,其运行速度会因并行化明显减慢。但是,如果循环中的有用工作量足够大,则循环的并行执行将会使程序加速。