Я нашел похожие вопросы, но не то, что хочу.Сплит-матрица в java
Мне нужно разделить матрицу 1024x1024 на 4 части в равных частях, но мне нужно потратить начало и конец каждой части для работы в другом классе с потоками. Я думал об использовании двух циклов, но я понятия не имею, как правильно изменить значение переменных, поскольку оно превышает максимальный.
Код:
private static final int MAX_MATRIX = 1024;
private static final int NUM_THREADS = 4;
int start_row = 0, end_row = 0, start_column = 0, end_column = 0;
for (int i = 0; i < NUM_THREADS/2; i++){
end_row = start_row + (MAX_MATRIX/2);
for (int j = 0; j < (NUM_THREADS/2); j++){
end_column = start_column + (MAX_MATRIX/2);
myTask[i] = new TaskAnalyze(start_row, end_row, start_column, end_column, int_radom);
myThreads[i] = new Thread(myTask[i],"TASK " + i);
}
start_column += MAX_MATRIX/2;
start_row += MAX_MATRIX/2;
}
int_random матрица.
Что должны иметь это:
myTask [0] = новый TaskAnalyze (0, 512, 0, 512, int_radom); (0, 512, 512, 1024, int_radom);
myTask [2] = новый TaskAnalyze (512, 1024, 0, 512, int_radom);
myTask [3] = новый TaskAnalyze (512, 1024, 512, 1024, int_radom);
Любые предложения?
У вас есть ' j' loop, в котором вы не используете 'j'. –
Ум ... Я сказал, потому что это может помочь изменить значения, я должен удалить его? – Kuru