Thread#start()源码分析
2022-01-03 11:47:34 0 举报
Java线程源码分析
作者其他创作
大纲/内容
JNINativeMethod中建立了jni的映射关系
真正创建线程
Thread#start()
#thread.cppJavaThread::run
Thread初始化时调用
Java线程启动入口
native_thread->prepare(jthread)
调用真正的方法
调用native方法
JavaThread::thread_main_inner()
thread.cpp# Thread::start(native_thread)
等待调用os::start_thread()
通过JavaCalls::call调用Thread#run方法
将Java 中的Thread和JVM中的Thread进行绑定
创建JavaThread
os.cpp#os::start_thread(thread)
执行run方法
os_linux.cpp#os::pd_start_thread(Thread* thread)
Thread#start0()
Thread.c# JVM_StartThread
调用注册方法,完成native和真正方法的绑定
唤醒线程,执行run方法
Thread#registerNatives
收藏
收藏
0 条评论
下一页