boolean isCurrentThreadInterrupted = Thread.currentThread().isInterrupted();
До того как поменял значение переменной на значение выше, программа также работала. Но дело в том что в цикле while указана произвольная переменная isCurrentThreadInterrupted=false. Как все таки программа завершила все потоки ведь я прописал метод Thread.interrupt(); для каждого потока, а он в свою очередь меняет флаг статической переменной класса Thread, но не нашей переменной isCurrentThreadInterrupted?