Допустимо ли начать Thread изнутри его конструктора после того, как мы инициализировали поля, и является ли вообще плохой практикой начать Thread изнутри его конструктора? Например:Начальная тема изнутри его конструктора
class A extends Thread{
private String s;
private int x
public A(String str,int xx){
s = str;
x = xx;
start();
}
public void run() { System.out.println(s + " " + x);}
}
Прежде всего, это плохая практика распространения Thread. Так что это не проблема. Но даже если это не так, то да, то, что вы опубликовали, не является хорошей идеей - критически использовать объект до того, как он завершил строительство, никогда не бывает хорошим. –
Не могли бы вы объяснить, почему расширение потока - это плохая практика? Я могу видеть ограничение (не будучи в состоянии продлить), но кроме этого, это в значительной степени вопрос выбора. –