Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java线程Id创建时间_Java_Multithreading - Fatal编程技术网

Java线程Id创建时间

Java线程Id创建时间,java,multithreading,Java,Multithreading,我想知道Java中线程的Id是什么时候创建的。是在创建实例的那一刻,还是在使用start方法启动实例之后 谢谢。它在线程上初始化 此处是实现的代码片段: /* Set thread ID */ tid = nextThreadID(); 它在线程构造函数上初始化 此处是实现的代码片段: /* Set thread ID */ tid = nextThreadID(); 在实例创建时在实例创建时实例化时 public Thread() { init(null, null, "Thread

我想知道Java中线程的Id是什么时候创建的。是在创建实例的那一刻,还是在使用start方法启动实例之后


谢谢。

它在
线程上初始化

此处是实现的代码片段:

/* Set thread ID */
tid = nextThreadID();

它在
线程
构造函数上初始化

此处是实现的代码片段:

/* Set thread ID */
tid = nextThreadID();

实例创建时

实例创建时

实例化时

public Thread() {
   init(null, null, "Thread-" + nextThreadNum(), 0);
}

private void init(ThreadGroup g, Runnable target, String name, long stackSize) {
   ...
   /* Set thread ID */
   tid = nextThreadID();
   ...
}
当实例化时

public Thread() {
   init(null, null, "Thread-" + nextThreadNum(), 0);
}

private void init(ThreadGroup g, Runnable target, String name, long stackSize) {
   ...
   /* Set thread ID */
   tid = nextThreadID();
   ...
}

从线程返回的源代码id。getId()在创建线程实例时初始化(即在其构造函数中),而不管此线程实例实际何时启动。

从线程返回的源代码id。getId()在创建线程实例时初始化(即在其构造函数中),不管该线程实例实际何时启动