Каков правильный запуск метод аstart() из конструктора при implements Runnable и при extends Thread?

 
 
 
Сообщения:60
Добрый вечер. Подскажите, пожалуйста, почему при имплементировании Ранабл к текущему потоку и его методам из конструктора мы обращаемся через Thread.currentThread().start(), а при расширении Трэд мы используем this.start(). Почему во втором случае мы тоже не можем обратиться через Thread.currentThread()?
 
 
Сообщения:201
art-asmolovskij:
почему при имплементировании Ранабл к текущему потоку

тут непонятно - зачем потоку (Thread классу, если я правильно понял) имплементировать интерфейс - это лишнее
this.start()

работает в наследнике Thread
Thread.currentThread().start()

нигде не работает
или я не понял написанного
 
 
Сообщения:60
Да, я имел в виду, любой класс, который имплементирует Runnable().
То есть вызов Thread.currentThread().start() вообще не работает? А я только что запустил. Или не работает в каком смысле?
 
 
Сообщения:405
ну Thread.currentThread() возвращает поток, в котором исполняется этот код. то-есть поток, который уже работает. попытка запустить уже работающий поток кончается IllegalThreadStateException.
 
 
Сообщения:60
Спасибо
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет