当循环的不同迭代执行的工作相同时,将工作均匀地分摊在系统上不同的线程之间很有益。此方法称为静态调度。
for (i=1; i < 1000; i++) { sum += a[i]*b[i]; /* S1 */ }
在静态调度或块调度中,每个线程将获取相同次数的迭代。如果有 4 个线程,则在以上示例中,每个线程将获取 250 次迭代。假设不存在中断,并且每个线程的进度相同,则所有线程将同时完成。