Java 工具(jmap,jstack)在Linux上的源码分析(三)

jint Threads::create_vm(JavaVMInitArgs* args, bool* canTryAgain) {   ...     // Create the VMThread      { TraceTime timer("Start VMThread", TraceStartupTime);       VMThread::create();       Thread* vmthread = VMThread::vm_thread();          if (!os::create_thread(vmthread, os::vm_thread))         vm_exit_during_initialization("Cannot create VM thread. Out of system resources.");          // Wait for the VM thread to become ready, and VMThread::run to initialize        // Monitors can have spurious returns, must always check another state flag        {         MutexLocker ml(Notify_lock);         os::start_thread(vmthread);         while (vmthread->active_handles() == NULL) {           Notify_lock->wait();         }       }     }   ...         }  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyjgjd.html