【发布时间】:2011-12-01 13:22:47
【问题描述】:
这与我之前的问题有关:D concurrent writing to buffer
假设您有一段由 2 个连续代码块 A 和 B 组成的代码,其中 B 依赖于 A。这在编程中很常见。 A 和 B 都包含一个循环,每个迭代都可以并行运行:
double[] array = [ ... ]; // has N elements
// A
for (int i = 0; i < N; i++)
{
job1(array[i]); // new task
}
// wait for all job1's to be done
// B
for (int i = 0; i < N; i++)
{
job2(array[i]); // new task
}
B 只能在 A 完成时执行。如何等到A的所有任务都完成后再执行B?
【问题讨论】:
标签: concurrency parallel-processing task d wait