- sleep() 执行后线程进入阻塞状态
- yield() 执行后线程进入就绪状态
- join() 执行后线程进入阻塞状态
yield()让当前运行线程回到可运行状态(让出时间片),使相同或更高优先级的其他线程获得运行机会,但实际中无法保证yield()达到让步目的,因为让步的线程可能被线程调度程序再次选中。
join()让当前线程需要等待调用join()方法的线程终止之后才继续执行。
private void exit() {
if (group != null) {
group.threadTerminated(this);
group = null;
}
/* Aggressively null out all reference fields: see bug 4006245 */
target = null;
/* Speed the release of some of these resources */
threadLocals = null;
inheritableThreadLocals = null;
inheritedAccessControlContext = null;
blocker = null;
uncaughtExceptionHandler = null;
}
void threadTerminated(Thread t) {
synchronized (this) {
remove(t);
if (nthreads == 0) {
notifyAll();
}
if (daemon && (nthreads == 0) &&
(nUnstartedThreads == 0) && (ngroups == 0))
{
destroy();
}
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。