0

我试图理解 c++11 中的线程。假设我有一个数组 arr={5,5,5,5,5},我想计算 {5^a^b, 5^a^b, 5^a^b, 5^a^ b, 5^a^b} 使用两个线程,参数 a 或 b 传递给线程。我如何保证第二个线程仅在第一个线程处理它之后才对每个术语起作用(5^a^b 和 5^b^a 之间的差异)?

谢谢。

4

1 回答 1

0

您可以在线程之间共享一个原子变量,它表示数组中最左边的索引 - 尚未由第一个线程处理的元素。

在第二个线程中使用并循环操作后,在第一个线程中增加索引,a直到索引小于数组的大小。

于 2013-11-11T05:16:54.503 回答