-
本系列博客,主要是面向Java8的源码。
-
本系列博客主要参考汪文君老师 《Java高并发编程详解》一书
-
转载请注明出处,多谢~。
1. 线程的start方法剖析
/**
* Causes this thread to begin execution; the Java Virtual Machine
* calls the <code>run</code> method of this thread.
*/
public synchronized void start() {
if (threadStatus != 0)
throw new IllegalThreadStateException();
group.add(this);
boolean started = false;
try {
start0();//核心部分就是这个start0本地方法,也就是JNI方法,run方法就是被此方法调用
started = true;
} finally {
try {
if (!started) {
group.threadStartFailed(this);
}
} catch (Throwable ignore) {
}
}
}
2024年5月26日大约 17 分钟