DDDEN!SSS, большая разница! Поток создается Java-машиной, если она получает команду Thread.start(), то она запускает метод run() в отдельном потоке. А если ты просто вызовешь метод run(), то он и начнет выполняться, как самый обычный метод, от этого новый поток не образуется, поскольку JVM не получила никакой команды. Другой класс, который расширяет Thread, можно не создавать, но тогда нужно в каком-то классе реализовать интерфейс Runnable и создать новый экземпляр класса Thread с указанием созданного Runnable в конструкторе (то есть
Thread(Runnable r)) и запустить через Thread.start(). Это второй способ создания потока.
Ссылка на пост
15 мая 2008 в 18:40