Вот мое предложение:
- Напишите функцию, которая будет вычислять одну выходную ячейку. Дайте ему параметры, указывающие, какую ячейку вычислять.
- Напишите однопотоковую программу, которая использует цикл для вычисления каждой ячейки (вызывая функцию из «1»). Сохраните все результаты и не записывайте их, пока не закончите вычисление всех ячеек.
- Измените программу так, чтобы вместо каждого цикла, вызывающего функцию, каждый цикл создавал поток для выполнения функции.
- Выясните, как заставить "основную" программу подождать, пока все потоки не закончат, прежде чем записывать все результаты.
Думаю, это даст вам стратегию для выработки решения, а я не сделаю вашу домашнюю работу за вас.
Если у вас есть шанс, и он не работает, опубликуйте здесь свой код, и люди помогут вам отладить его. Важная часть заключается не в том, чтобы вы получили хороший ответ, а в том, чтобы научиться решать проблемы такого типа, поэтому вам не поможет, если кто-то просто даст вам ответ.