Работа над проектом для школы в C с использованием Pthreads для разбиения одномерного массива на подматрицы tRows и tCols. Общий массив будет иметь размер wRows и wCols. Скажем wCols = 4, wRows = 4, tCols = 2, и tRows = 2. Если ввод массива целых чисел 1-16 мы имели бы сетку:Распределение массива Pthreads
1 2 3 4
5 6 7 8
9 10 11 12
1314 15 17
Thus Thread 0 would process the subgrid
1 2
5 6
Thread 1
3 4
7 8
Thread 2
9 10
13 14
Thread 3
11 12
15 17
Как бы я идти о переборе одномерный массив, чтобы получить эти значения на основе того, какой поток используется с использованием двух циклов? Мне кажется, что мне нужно рассчитать начало и конец для обоих потоков, но я полностью застрял в этом.
Любая помощь будет оценена по достоинству.
Что делать, если размерность не делится eqaully? Например. как вы разделитесь, если Wcols = 5 и wRows = 3? –
@ l3x Он всегда будет делимым. – Downwithopp
Количество потоков также зависит от количества сеток? –