黑马程序员技术交流社区
标题:
判断线程是否启动,求出14,16,21行中isAlive()的值?
[打印本页]
作者:
lovecx24
时间:
2013-12-5 13:26
标题:
判断线程是否启动,求出14,16,21行中isAlive()的值?
public class StartThreadDemo extends Thread{
public void run(){
for(int i=0;i<2;i++){
printTName();
}
}
public void printTNmae(){
String name=Thread.currentThread().getName();
System.out.println("当前线程的名字 " + name);
}
public static void main(String[] args){
StarttHREADdEMO T = NEW StartThreadDemo();
t.setName("test thread");
System.out.println("调用start()方法之前,t.isAlive() = " + t.isAlive());
t.start();
System.out.println("调用start()方法之后,t.isAlive() = " + t.isAlive());
for(int i=0;i<2;i++){
t.printTName();
try{
Thread.sleep(200);
System.out.println("线程休眠时, t.isAlive() = " + t.isAlive());
}catch(InterruptedException e){
e.printStackTrace();
}
}
}
复制代码
判断线程是否启动,求出14,16,21行中isAlive()的值?
作者:
lichao
时间:
2013-12-6 21:16
这时对你程序的修改
public class StartThreadDemo extends Thread{
public void run(){
for(int i=0;i<2;i++){
printTName();
}
}
public void printTName(){
String name=Thread.currentThread().getName();
System.out.println("当前线程的名字 " + name);
}
public static void main(String[] args){
StartThreadDemo t = new StartThreadDemo();
t.setName("test thread");
System.out.println("调用start()方法之前,t.isAlive() = " + t.isAlive());
System.out.println("........................");
t.start();
System.out.println("调用start()方法之后,t.isAlive() = " + t.isAlive());
System.out.println("........................");
for(int i=0;i<2;i++){
t.printTName();
try{
Thread.sleep(200);
System.out.println("线程休眠时, t.isAlive() = " + t.isAlive());
System.out.println("........................");
}catch(InterruptedException e){
e.printStackTrace();
}
}
}
}
复制代码
这时运行结果:
调用start()方法之前,t.isAlive() = false
........................
调用start()方法之后,t.isAlive() = true
........................
当前线程的名字 main
当前线程的名字 test thread
当前线程的名字 test thread
线程休眠时, t.isAlive() = false
........................
当前线程的名字 main
线程休眠时, t.isAlive() = false
........................
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2