企业网站用什么数据库,比较好的做展会邀请函的网站,集群网站开发,慧聪网alexa排名在kvm内部定义了线程状态,如下:enum {THREAD_JUST_BORN 1, /* 还没有启动*/THREAD_ACTIVE 2, /* 当前正在运行,或者在等待运行的队列中*/THREAD_SUSPENDED 4, /* 等待monitor或者alarm */THREAD_DEAD 8, /* 线程退出 */THREAD_MONITOR_WAIT 16, // 等待锁THREAD_CONVAR_WA…在kvm内部定义了线程状态,如下:enum {THREAD_JUST_BORN 1, /* 还没有启动*/THREAD_ACTIVE 2, /* 当前正在运行,或者在等待运行的队列中*/THREAD_SUSPENDED 4, /* 等待monitor或者alarm */THREAD_DEAD 8, /* 线程退出 */THREAD_MONITOR_WAIT 16, // 等待锁THREAD_CONVAR_WAIT 32, // 等待唤醒THREAD_DBG_SUSPENDED 64 // debug使用} state; // 线程状态定义123456789本文首先介绍THREAD_JUST_BORN. THREAD_JUST_BORN是在BuildThread方法中设置的:newThread-state THREAD_JUST_BORN;1而关于该方法在kvm启动流程-006 中详细介绍.而BuildThread的调用点有两处:在InitializeThreading方法中调用,这点在kvm启动流程-006 中有介绍.在getVMthread中调用,其代码如下:THREAD getVMthread(JAVATHREAD_HANDLE javaThreadH){/* Create the VM-level thread structure if necessary */THREAD VMthread unhand(javaThreadH)-VMthread;if (!VMthread) {VMthread BuildThread(javaThreadH);}return VMthread;}123456789而关于 getVMthread方法的调用点有三处:Java_java_lang_Thread_start(也就是Thread.start()方法)Java_java_lang_Thread_setPriority0(也就是Thread.setPriority() 方法)Java_java_lang_Thread_interrupt0(也就是Thread.interrupt()方法)那么,哪个是首先调用 getVMthread方法的呢?答案是 Java_java_lang_Thread_setPriority0,因为该方法是在线程的方法中调用的.如下:public Thread() {init(null, Thread- nextThreadNum());}private void init(Runnable target, String name) {Thread parent currentThread();this.target target;this.name name.toCharArray();this.priority parent.getPriority();setPriority0(priority);}private native void setPriority0(int newPriority);12345678910111213因此会在方法中最终调用Java_java_lang_Thread_setPriority0方法,其代码如下:void Java_java_lang_Thread_setPriority0(void){int priority popStack();THREAD VMthread;START_TEMPORARY_ROOTS(http://www.amjmh.com)DECLARE_TEMPORARY_ROOT(JAVATHREAD, javaThread,popStackAsType(JAVATHREAD)); // 获得当前线程对象// 设置优先级javaThread-priority (priority MAX_PRIORITY ? MAX_PRIORITY :(priority MIN_PRIORITY ? MIN_PRIORITY : priority));VMthread getVMthread(javaThread); // 获得vm线程VMthread-timeslice javaThread-priority * TIMESLICEFACTOR; // 分配时间片END_TEMPORARY_ROOTS}12345678910111213141516总结THREAD_JUST_BORN 是线程新建的状态。关于后续状态,后文介绍