线程的实现
1、创建线程类
继承Thread类
实现Rubnable接口
2、通过Thread类构造器来创建线程对象
Thread()
Thread(Runnable target)
3、通过start()方法激活线程对象
两种实现方式的比较
使用Runnable接口可以避免由于Java的单继承性带来的局限
适合多个相同的程序代码的线程去处理同一资源情况,把线程同程序的代码、数据有效的分离
线程的状态及其生命周期
创建 就绪 运行 阻塞 终止状态
start() 使线程处于可以运行的状态,但不一定就意味着该线程立即开始运行
sleep()
线程可控制的是线程在运行状态到阻塞状态
t1.jion()方法
当前主线程加入t1线程,则主线程中的程序需要等待t1线程的内容执行完后再执行
线程的终止
自动终止:线程完成执行后,不能再次运行
手动终止:
stop() 已过时,不用了
interrupt() 粗暴的终止方式
可通过使用一个标志指示run方法退出
线程中的一些方法
Thread的静态方法
currentThread() 方法可返回代码段正在被哪个线程调用的信息
isAlive() 是判断当前的线程是否处于活动状态。
即当前线程已经启动但没终止的状态
getId() 方法的作用是取得线程的唯一标识。