第一章主要介绍了java怎样创建一个线程及线程的特性,其中有一个Thread类的api比较容易误解。
1、currentThread()
currentThread()线程返回的是代码段正在被哪个线程调用的信息。
public class Run {
public static void main(String[] args) throws InterruptedException {
System.out.println(Thread.currentThread().getName());
}
}
打印出信息为:main,即当前代码段正在被main线程调用。
2、isAlive()
判断当前线程是否存活(运行或就绪状态)
3、sleep()
方法sleep的作用是在指定的毫秒数内让当前“正在执行的线程”休眠。这个“正在执行的线程”是指this.currentThread()返回的线程。
例如,在main线程中直接调用另一个线程的run方法,则另一个线程run方法内打印出的this.currentThread()是main。而main方法中创建另一个线程,由线程调用start启动,则另一线程run方法内打印出的this.currentThread是另一个线程。
4、yield()
yield方法的作用是放弃当前cpu资源,将它让给其他的任务去占用cpu执行时间。但是放弃的时间不确定,有可能刚刚放弃,马上又获得CPU时间片。