Java多线程编程核心技术 第一章java多线程技能-读书笔记-20220621

117 阅读1分钟

currentThread()

currentThread()方法可返回代码段正在被哪个线程调用的信息。

isAlive()

方法isAlive()的功能是判断当前的线程是否处于活动状态。

什么是活动状态?

活动状态就是线程已经启动且尚未终止。线程处于正在运行或准备开始运行的状态,就认为线程是“存活”的。

sleep方法

作用是在指定的毫秒数内让当前“正在执行的线程”休眠(暂停执行)。

这个“正在执行的线程”是指this.currentThread()返回的线程。

getId()方法

作用是取得线程的唯一标识。

停止线程

停止一个线程意味着在线程处理完任务之前停掉正在做的操作,也就是放弃当前的操作。

一般有3种方法可以终止正在运行的线程:

1)使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。

2)使用stop方法强行终止线程,但是不推荐使用这个方法,因为stop和suspend及resume一样,都是作废过期的方法,使用它们可能产生不可预料的结果

3)使用interrupt方法中断线程。(但是这个方法不会终止一个正在运行的线程,还需要加入一个判断才可以完成线程的停止。)

调用interrupt()方法仅仅是在当前线程中打一个停止的标记,并不是正当停止线程。

1)this.interrupted():测试当前线程是否已经是中断状态,执行后具有将状态标志置为false的功能。

2)this.isInterrupted():测试线程Thread对象是否已经是中断状态,但不清楚状态标志。