Как правильно обновлять Progressbar из цикла?
Прошу прощения, два дня бился головой о стену в попытке понять, почему оно не работает, оказывается искал не в том месте, дело в том что буфер сначала накапливался, а потом уже после того как поток закрылся, разом отдавал вывод в цикл и прогрессбар молниеносно набирал 100%. Т.е. с обновлением бара проблем нет, дело было в самом буфере, переписал метод:private void runCmdWithProgress(String... args) throws IOException {
        Process proc = Runtime.getRuntime().exec(args);
        InputStream inputStream = proc.getErrorStream();
        InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
        BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
        String s = null;

        while ((s = bufferedReader.readLine()) != null) {
                Double progress = Double.parseDouble(s.split("%")[0]) / 100;
                Platform.runLater(() -> tab_adb_progressbar.setProgress(progress));
        }
        try {
            proc.waitFor();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
Плюс к ответу Александра, да, данный метод из GUI потока нужно вызывать обязательно в отдельном, я делаю так же как у вас:new Thread(() -> {
	                        try {
	                            runCmdWithProgress(commands);
	                            Platform.runLater(() ->  showDialogInformation(positive);
	                        } catch (IOException e) {
	                            e.printStackTrace();
	                        }
	                    }).start();
Всем спасибо!
в c# я это делаю так:
фоновая задача в бекграунде, которая что-то долго делает, допустим в цикле.
в цикле есть вызов функции report.progress(int someint)
на функцию report.progress(int bla) висит код, который может взаимодействовать с gui и обновлять счетчик прогрессбара