Я знаю, что это должно быть довольно простой вариант использования, но я не знаю, какие ключевые слова искать.
Учитывая вложенный цикл вроде этого:
for (i = 0; i < size; i++) {
for (j = i+1; j < size; j++) {
doComparision(i, j);
}
}
Я знаю, что могу вычислить общее количество сравнений с n = size * (size-1) / 2.
Проблема в том, что я хочу распараллелить этот цикл.Каждый поток должен выполнять только определенный диапазон внешнего цикла for:
for (i = beginOffset; i <= endOffset; i++) {
for (j = i+1; j < size; j++) {
doComparision(i, j);
}
}
Как рассчитать количество сравнений в таких циклах?
В конце я хочу убедиться, что каждый поток выполняет примерно одинаковый объем работы.