java线程的执行问题
我有一个问题,java里面的线程在执行的时候(thread.start()),随后thread会进入run(),之后run()是不是会一直循环?就算run()的代码执行结束以后,它还是会继续从头开始执行?
比如下面的runnable代码:
public class runnable implements Runnable{
public void run(){
String S;
try{
while((S=reader.readLine())!=null){
System.out.println(S);
incoming.append(S+"\n");
}
}catch(Exception ex){
ex.printStackTrace();
}
}
}
当Readline没有String的时候,while循环结束,run就会结束,但是run()是不是不会结束会从头开始?
------解决方案--------------------不可能没有string,
因为reader.readLine(),不可能返回 null !
------解决方案--------------------如果你的reader.readLine()是阻塞性的方法,他会一直等你输入,不会为空
while循环结束,run就结束了,要不它还不逆天了。。。。