Java多线程常用方法,isAlive()、currentThread()、setName()、getName ()方法

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
我会进行一些补充
欢迎各位大佬点评,谢谢!

发布了22 篇原创文章 · 获赞 16 · 访问量 1616

猜你喜欢

转载自blog.csdn.net/qq_43098197/article/details/96867369