方法名 | 作用 | 特点 |
---|---|---|
start() | 启动线程,线程进入可运行状态 | 不是立马执行,还需要等一个时机,等抢到 CPU 调度权就执行 |
join() | 加入线程,等加入的线程执行结束再执行当前线程 | |
sleep() | 线程休眠,让出 CPU 执行权,等到休眠时间到了才会再次争夺 CPU 执行权,休眠期间不会再次争夺 CPU 执行权 | 不会释放锁 |
yield() | 线程让步,让出 CPU 执行权,强制进入就绪状态,可能刚让出 CPU 执行权立马又获取到了 | 不会释放锁 |
wait() | 线程等待,让出 CPU 执行权,notify/notifyAll 之后才会再次争夺 CPU 执行权 必须同时获取到锁和得到 CPU 执行权才会执行 |
会释放锁 |
notify()/notifyAll() | 唤醒等待当前锁的线程(唤醒的线程必须拿到释放的锁才可能执行,和 wait 必须持有同一把锁) | 会释放锁 |
setPriority(int newPriority) | 设置线程优先级 | 范围 1-10 |
getPriority() | 获取线程优先级 | |
setName(String name) | 设置线程名称 | 如果不指定, 默认 Thread-index |
getName() | 获取线程名称 | |
currentThread() | 静态方法, 返回当前线程 |