我想知道Java中的线程的Id何时被创建。它是在创建实例的时刻还是在使用start方法启动之后?
感谢。
答案 0 :(得分:4)
实例化时。
public Thread() {
init(null, null, "Thread-" + nextThreadNum(), 0);
}
private void init(ThreadGroup g, Runnable target, String name, long stackSize) {
...
/* Set thread ID */
tid = nextThreadID();
...
}
答案 1 :(得分:0)
它在Thread
构造函数上初始化。
此处实施的代码段:
/* Set thread ID */
tid = nextThreadID();
答案 2 :(得分:0)
实例创建时。
答案 3 :(得分:0)
从Thread.getId()返回的源代码id在创建Thread实例时(即在其构造函数中)初始化,无论何时实际启动此Thread实例。