Сложение матриц потоками java

Программа считывает матрицы с файла, а также пользователь вводит количество потоков необходимых для их сложения. Как можно реализовать многопоточное сложение строк матриц? Вот, что уже реализовано:

    String str1 = "";
    int qu1 = 0;
    String newLine1;
    File f1 = new File(TextMatrix1.getText());
    String str2 = "";
    int qu2 = 0;
    String newLine2;
    File f2 = new File(TextMatrix2.getText());

    try ( BufferedReader br = new BufferedReader(new FileReader(f1))) { //первая матрица
        Scanner sc = new Scanner(f1);
        while ((newLine1 = br.readLine()) != null) {
            str1 = str1 + " " + newLine1;
            qu1++;
        }
    } catch (Exception e) {

    }

    try ( BufferedReader br = new BufferedReader(new FileReader(f2))) { //вторая матрица
        Scanner sc = new Scanner(f2);
        while ((newLine2 = br.readLine()) != null) {
            str2 = str2 + " " + newLine2;
            qu2++;
        }
    } catch (Exception e) {

    }

    str1 = str1.substring(1, str1.length());
    str2 = str2.substring(1, str2.length());

    for (int i = 0; i < str1.length(); i++) {
        char c1 = str1.charAt(i);
        char c2 = str2.charAt(i);
        matrix1[i] = String.valueOf(c1);
        matrix2[i] = String.valueOf(c2);
    }
    if (Integer.parseInt(TextQuantity.getText()) >= qu1) {
        JOptionPane.showMessageDialog(rootPane, "Неправильно указано количество потоков", "Ошибка", JOptionPane.ERROR_MESSAGE);
        return;
    } else {

        Thread[] threads = new Thread[Integer.parseInt(TextQuantity.getText())]; //количество потоков
        for (int i = 0; i < threads.length; i++) {
            threads[i] = new Thread(new Runnable() {
                public void run() {

                            }
                        }
                }
            });
            threads[i].start();
                    }
                }
        }

    }

Ответы (0 шт):