У меня есть цикл for, который я хотел бы преобразовать в параллельный вызов fnc. Мой код соответствует всем критериям (описанным в Parallel_Programming_with_Microsoft_Visual_C_plus_plus, стр.7) для успешного преобразования, но я нахожу его трудно реализовать Вот мой пример:
//"Oridinary" for
//numbers_from_file_ is a vector<Big_Int> loaded with Big_Int
//results_ is a vector<Big_Int>
for (unsigned i = 0; i < numbers_from_file_.size(); i += 2)//+2 to skip to another pair
{
results_.push_back( numbers_from_file_[i] * numbers_from_file_[i + 1]);
}
Сценарий состоит в том, что каждая пара чисел из numbers_from_file_ умножается и сохраняется в results_. Чтобы заставить его работать, переменная i должна быть увеличена на два (чтобы перейти к другой паре). К сожалению, пример в этой книге показывает, как преобразовать тело цикла for в параллельный вызов fnc, только если i увеличивается на единицу.
Можно ли преобразовать мой цикл в параллель для вызова fnc?