На це вже було сказано, але просто для того, щоб зрозуміти: створення нового об'єкта Thread лише для виклику методу run () є зайвим дорогим і повинно бути головним червоним прапором. Було б набагато краще, більш розв'язані дизайн для створення Runnable осущ і або (а) називають це метод Run () безпосередньо , якщо це бажане поведінку, або (б) побудувати нову тему з цим Runnable і почати тему.
А ще краще, щоб ще більше роз’єднатись, ознайомтеся з Executor
інтерфейсом та рамкою в JDK 5 та новіших версіях. Це дозволяє, коротко кажучи, від'єднати виконання завдання (екземпляр Runnable) від того, як воно виконується (реалізація Executor, яка може виконати Runnable у поточній потоці, в новій темі, використовуючи існуючу нитку з пулу, і що ні).