Java线程学习——常用方法

常用的一些方法

线程中有一些常用的方法,总结一下。

1.currentThread()

作用:获取当前运行的线程对象;
用法:this.currentThread().getName();//获取当前线程的名称;

2.currentThread与this的区别

this是个线程类,引用是那个类的引用,而不是线程对象,所以:

//....
public A(){
	System.out.println(Thread.currentThread().getName());
	System.out.println(Thread.currentThread().isAlive());
	System.out.println(this.getName());
	System.out.println(this.isAlive());
}
//在main方法中:
A a = new A();
//依次输入结果:
/*
main
true
Thread-0
false
*/

结果分析:
1.currentThread指当前对象;
2.this是个线程类的引用,这指的是A类。这样看吧,A类中并没有写getName()方法,但是却能使用getName()方法,为啥?因为这个是父类的方法,如果你没从写过这个方法,说明是对父亲的,你父亲设置了名字吗?没有,但是Thread默认给了个——Thread-0;父类进行启动了线程?不是他的子类,所以this.isAlive()为false;

3.isAlive()

作用:线程是否是活动状态(线程已启动但为停止);
用法:启动返回——true,否则——false;创建和死亡均为false;

4.sleep()

作用:就是让指定的线程暂停执行多少毫秒,醒了就自动重新排队运行;
用法:sleep(1000);

try {
			sleep(2000);
			System.out.println("睡完后的名称:" + this.currentThread().getName());
		} catch (InterruptedException e) { 
			e.printStackTrace();
		}
	}

5.getId()

作用:线程的唯一标识,name属性可以重复,但是id不能重复;

------------后续会更新…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值