Несколько слов о 1):
Реализация Runnable делает ваш класс более гибким.
Класс, который реализует Runnable, не является нитью и просто классом. Чтобы Runnable стал Thread, вам нужно создать экземпляр Thread и передать себя в качестве цели.
Расширяя Thread, каждый из ваших потоков имеет уникальный объект, связанный с ним, тогда как при реализации Runnable многие потоки могут совместно использовать один и тот же исполняемый экземпляр.
В большинстве случаев интерфейс Runnable следует использовать, если вы планируете переопределить метод run() и другие методы Thread. Это важно, потому что классы не должны подклассифицироваться, если программист не намерен изменять или улучшать фундаментальное поведение класса.
О 2)
Имени ниже Нити [MyThread]
Thread myThread =new Thread(new Runnable(){
public void run(){
//code
}});
myThread.start(); //start it
О 3)
об именах ... Если вы не заботиться, чтобы получить доступ к теме по имени как пример выше, вы можете просто Thread и в него добавить код, который имеет какое-то желание, которое вы хотите. Например, вы можете иметь флаг и сделать его ложным. Thread просто закончит свою работу, и это все закончилось.
new Thread(new Runnable(){
public void run(){
//example code
while(flag==true){
System.out.println("Yeah i am true ");
//Thread.sleep(200); //Makes The Thread sleep
}
}}).start(); //create and start by default
Здесь
public class Server{
public Server(){ //constructor
Thread client = ClientMethod("Alex");
System.out.println("i am Client "+client.getName());
}
//Make a Thread for a specific Client
public Thread ClientMethod(String clientName){
Thread client = new Thread(new Runnable(){
public void run(){
//do someWork
//Then finish
}//end of run method
});
client.setName(clientName); //set the NameOfThread to clientName
client.start(); //start it
return client; //return the Thread of this specific Client(as Object)
}
//Main Method
public static void main(String[] args){
new Server();
}
}//End of Class [Server]
Пожалуйста задать один вопрос на каждый вопрос. – Pshemo
[SO объясняет, что продолжается Threads vs реализует Runnable] (http://stackoverflow.com/questions/541487/implements-runnable-vs-extends-thread) – gtgaxiola
Интерфейс Rubnable является предпочтительным. – CaffeineToCode