TestedThread commonThread = new TestedThread(handler); создается основной поток, если его зациклить он будет вечно выполняться. Thread threadA = new Thread(commonThread, "Нить 1"); Thread threadB = new Thread(commonThread, "Нить 2"); Нити создаются странно, thread над thread в этом есть какой то смысл? ну и пример по сути бесполезный, да ведь? Основной поток должен всегда работать и куда то писать что то, так? Дочерние потоки должны быть свои и делать то, что им нужно, так ведь?