Skip to main content

jvm线程实现

· One min read

背景

了解线程相关处理逻辑

jni

jni和php的扩展类似,都是用一个符号绑定一个native函数

堆栈

堆栈:

(gdb) bt
#0 __pthread_create_2_1 (newthread=0x7ffff5aa5458, attr=0x7ffff5aa54a0, start_routine=0x7ffff6c0d1aa <thread_native_entry(Thread*)>, arg=0x7ffff02e7810) at pthread_create.c:625
#1 0x00007ffff6c0d813 in os::create_thread (thread=0x7ffff02e7810, thr_type=os::java_thread, req_stack_size=0) at /home/ubuntu/daixiao/jdk/src/hotspot/os/linux/os_linux.cpp:867
#2 0x00007ffff6ee1eb7 in JavaThread::JavaThread (this=0x7ffff02e7810, entry_point=0x7ffff6837419 <thread_entry(JavaThread*, JavaThread*)>, stack_sz=0) at /home/ubuntu/daixiao/jdk/src/hotspot/share/runtime/thread.cpp:1195
#3 0x00007ffff68375e4 in JVM_StartThread (env=0x7ffff0028c38, jthread=0x7ffff5aa5760) at /home/ubuntu/daixiao/jdk/src/hotspot/share/prims/jvm.cpp:2890
#4 0x00007fffe100f68b in ?? ()
#5 0x00007ffff5aa56e0 in ?? ()
#6 0x00007ffff5aa56f8 in ?? ()
#7 0x0000000000000000 in ?? ()

相关阅读