(欢迎关注公众号:深入Java底层)
1、实现多线程编程的方式主要有两种,一种是继承Thread类,另一种是实现Runnable接口。使用继承Thread类的方式创建新线程时,最大的局限性就是不支持多继承,因为Java语言的特点就是单根继承,所以为了支持多继承,完全可以实现Runnable接口的方式,一边实现一边继承。
注意(1)同一个thread如果多次调用start()方法,则会出现异常Exception in thread“main”java.lang
.IllegalThreadStateException;(2)执行start()方法的顺序不代表线程启动的顺序。
2、currentThread()方法: 返回代码段正在被哪个线程调用的信息。
3、 isAlive()方法:判断当前的线程是否处于活动状态。活动状态就
是线程已经启动(正在运行或准备开始运行)且尚未终止。
运行结果:
说明:c.start()和t1.start()的打印输出会交替执行,上面的代码为了说明问题,执行c.start()时注释了下面的代码;执行下面的代码,注释了c.start()。
4、sleep()方法:在指定的毫秒数内让当前“正在执行的线程”休眠(暂停执行)。这个“正在执行的线程”是指this.currentThread()返回的线程。
5、getId()方法:取得线程的唯一标识。
(欢迎关注微信公众号:深入Java底层)