Thread常用方法
常用方法 | 描述 |
---|---|
isAlive() | 线程是否存活 |
currentThread() | 表示当前线程 |
setName() | 设置名称 |
getName () | 获取名称 |
public class Test {
public static void main(String[] args) {
As a = new As();
Thread t = new Thread(a);
t.start();
t.setName("战斗机");//设置线程名字
System.out.println("start线程是否存活:"+t.isAlive());//判断线程是否存活
try {
Thread.sleep(1000);//增加效果(因为main也是线程)
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("end线程是否存活:"+t.isAlive());//判断线程是否存活
}
}
class As implements Runnable{
public void run() {
System.out.println(Thread.currentThread().getName()+"你好");//获取线程名字
}
}
为什么要加sleep(1000)?
因为:
当main方法开始执行,到t.start()开启线程,此时As类的run()方法开始执行。
此时两边互不影响,你执行你的,我执行我的。
区别:
接着main方法继续执行,执行到Thread.sleep(1000)时,假设这里没有此休眠,则会继续往下执行,最后输出“end线程是否存活”,此时run()方法可能还未结束,这样就失败了。
好,假设加了sleep休眠,则此时main方法停止执行,接下来run()方法就执行完毕,最后输出“end线程是否存活”。
文章最后:
如果此文章有什么不足的,请联系我
QQ:1178434749
VX:wuwen1178434749
我会进行一些补充
欢迎各位大佬点评,谢谢!