知识点详细说明
Java线程的核心方法集中在Thread
类和Object
类中,以下是新增整合后的常用方法分类解析:
1. 线程生命周期控制
方法 | 作用 | 注意事项 |
---|
start() | 启动新线程,JVM调用run() 方法 | 多次调用会抛出IllegalThreadStateException (线程状态不可逆)。 |
run() | 线程的任务逻辑 | 直接调用run() 不会启动新线程,只会在当前线程执行代码。 |
sleep(long millis) | 让当前线程休眠指定毫秒数 | 休眠时不释放锁,需处理InterruptedException 。 |
interrupt() | 中断目标线程(设置中断标志) | 若线程在sleep() /wait() 中,会抛出InterruptedException 并清除中断状态。 |
join() / join(long millis) | 等待目标线程终止 | 调用t.join() 的线程会阻塞,直到t 执行完毕或超时。 |
2. 线程状态查询
方法 | 作用 |
---|
isAlive() | 判断线程是否存活(已启动且未终止)。 |
isInterrupted() | 判断线程是否被中断(不清除中断状态)。 |
static interrupted() | 判断当前线程是否被中断(清除中断状态)。 |
3. 线程调度与优先级
方法 | 作用 |
---|
yield() | 提示调度器让出当前线程的CPU时间片(但不保证)。 |
setPriority(int priority) | 设置线程优先级(1~10,默认5)。< |